我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


笔记内容:

  • 13.4 mysql用户管理

  • 13.5 常用sql语句

  • 13.6 mysql数据库备份恢复

笔记日期:2017-10-31


13.4 mysql用户管理

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

搭建一个网站时,后台的应用程序会连接mysql,连接mysql就需要一个用户密码,但是不能让它使用root用户,root用户的权限太高不安全,所以需要创建一个用户,并授予这个用户一些权限,你可以具体的授予这些用户的某些权限,让它能操作什么不能操作什么。

下面就来介绍一下如何创建mysql用户以及授权:

  1. 创建用户,语句如下:

grant all on *.* to 'user1'@'192.168.77.130' identified by '123456a';

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

常识:这种grant语句是不会记录到命令历史里的,因为不安全。


现在就创建好一个user1用户了,因为创建这个用户的时候是指定了来源IP的,所以在登录这个用户时需要使用-h指定IP:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


如果想要创建一个可以本地连接的mysql用户,在创建时指定localhost就可以了:

grant all on *.* to 'user1'@'localhost' identified by '123456a';

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


创建为可以本地连接的用户,登录时就不需要使用-h指定来源IP了:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


使用show grants; 可以看到当前用户拥有哪些权限:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


如果想看具体的某个用户的话,在命令后加上for 用户名@登录方式  即可,示例:

show grants for user1@'localhost';

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


我们再创建一个用户,给这个用户授予具体对某个库的操作权限:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


现在我们查看一下user2的权限:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

可以看到user2具体能执行的sql语句,和可以操作哪个库的哪些表。


当你想增加用户的连接IP或者其他权限时,就可以直接复制show grants命令显示出来的语句,然后更改IP即可,例如我要让user2能使用192.168.77.139这个IP登录:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


然后再show grants看一下:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


原本的IP也能连接,这个操作是增加一个可以连接的IP:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复



13.5 常用sql语句

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

下面简单介绍几个mysql中常用的增删查改语句:

  1. select count(*) from mysql.user;

这条语句是查看mysql库中的user表有多少行,count是一个统计行数的函数:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. select * from mysql.db\G;

查看mysql库中的db表里的所有内容:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. select db from mysql.db;

查看mysql库中的db表里db字段的所有内容:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. select db,user from mysql.db;

查看mysql库中的db表里db和user 字段的所有内容:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. select * from mysql.db where host like '192.168.%'\G;

查看mysql库中的db表里host字段为192.168.开头的所有内容,like是模糊查询的关键字,where是指定的一个条件:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. insert into db1.t1 values (1, 'abc');

insert 语句是用来插入数据的:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. update db1.t1 set name='aaa' where id=1;

update 语句是用来修改或者说更新数据的:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. truncate table db1.t1;

清空数据,能够把一个表格里的所有数据都清空:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. drop table db1.t1;

drop 是用来删除结构的,drop的删除不仅仅删除数据,会把结构也一并删除,以上这条drop就是把db1库中的t1表给删除掉:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


10. drop database db1;

这是删除数据库的,同样的也是删除结构:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


drop和truncate、delete语句不同的是,前者删除在整个结构,后者仅仅删除结构中的数据。

谨记一点,drop和truncate、delete等语句尽量不要使用,如果需要使用的话记得提前备份数据,并且使用时万分小心看仔细了别删错数据了,如果不小心误操作把一个线上跑的数据库给删了的话,而且又没有备份可恢复,那么就等着被开除或赔偿吧。



13.6 mysql数据库备份恢复

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

因为数据的重要性,所以备份与恢复技术是非掌握不可的,在这里介绍一下,备份和恢复数据库的相关操作:

mysqldump是一个备份的命令,可以备份一个库,也可以备份一个表:

  1. 备份库,语法如下:

mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. 恢复库,将备份文件里的内容重定向到一个空的数据库中,语法如下:

mysql -uroot -p123456 mysql2 < /tmp/mysql.sql

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

进入到mysql2中,可以看到数据已经恢复到这个库中了:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

从以上备份和恢复数据库可见,其实就是一个重定向的应用,重定向出去叫备份,重定向进来叫恢复。


  1. 备份表,除了备份整个数据库之外,还能针对数据库中的某个表进行备份,指定库名和表名即可,语法如下:

mysqldump -uroot -p123456 mysql user > /tmp/user.sql

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

可以使用less命令查看一下user.sql文件,会发现里面都是些sql语句:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

通过sql语句逐个把数据恢复回去。


  1. 恢复表,和恢复库一样的,把备份的文件内容重定向回去,语法如下:

mysql -uroot -p123456 mysql < /tmp/user.sql

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. 备份所有的库,如果mysql中有很多数据库,一个个去备份太麻烦,所以需要能够备份所有数据库的语句,语法如下:

mysqldump -uroot -p -A >/tmp/123.sql

-A是all,所有的意思

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

可以查看到这个备份文件就比较大了,有1.3M:

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


  1. 只备份表结构,如果你不需要数据的情况下,就可以只备份表结构,使用-d选项,语法如下:

mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复


然后你可以使用less查看备份文件的内容,会发现没有insert语句只有drop和create语句

mysqldump 只适合数据量不大的备份,如果数据库中的数据库很大的话,就不适合使用mysqldump 了,使用mysqldump 的话备份会很慢,关于如何备份数量大的数据库可以参考以下扩展内容:


扩展

SQL语句教程

https://blog.51cto.com/zt/206


什么是事务?事务的特性有哪些?

http://blog.csdn.net/yenange/article/details/7556094


根据binlog恢复指定时间段的数据

http://www.centoscn.com/mysql/2015/0204/4630.html


mysql字符集调整

http://xjsunjie.blog.51cto.com/999372/1355013


使用xtrabackup备份innodb引擎的数据库innobackupex备份Xtrabackup增量备份:

http://zhangguangzhi.top/2017/08/23/innobackex%E5%B7%A5%E5%85%B7%E5%A4%87%E4%BB%BDmysql%E6%95%B0%E6%8D%AE/#%E4%B8%89%E3%80%81%E5%BC%80%E5%A7%8B%E6%81%A2%E5%A4%8Dmysql














免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux下的mysql用户管理,常用sql语句,mysql数据库备份恢复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用SQL语句在MySQL中进行数据备份和恢复?

如何使用SQL语句在MySQL中进行数据备份和恢复?在数据库中,数据备份和恢复是非常重要的操作,可以保证数据的安全性并且在遇到意外情况时能够迅速恢复数据。MySQL是一个非常常用的关系型数据库,它提供了多种方式来进行数据备份和恢复,其中一种
如何使用SQL语句在MySQL中进行数据备份和恢复?
2023-12-17

如何使用SQL语句在MySQL中创建和管理数据库?

如何使用SQL语句在MySQL中创建和管理数据库?MySQL是一种广泛应用的关系型数据库管理系统,提供了丰富的SQL语句来创建和管理数据库。在本文中,我们将详细介绍如何使用SQL语句在MySQL中创建和管理数据库,并提供具体的代码示例。一、
如何使用SQL语句在MySQL中创建和管理数据库?
2023-12-17

如何使用SQL语句在MySQL中进行数据权限和用户管理?

如何使用SQL语句在MySQL中进行数据权限和用户管理?引言:数据权限和用户管理是数据库管理中非常重要的环节。在MySQL数据库中,通过SQL语句可以方便地进行数据权限的控制和用户管理。本文将详细介绍如何使用SQL语句在MySQL中进行数据
如何使用SQL语句在MySQL中进行数据权限和用户管理?
2023-12-17

mysql数据库操作_高手进阶常用的sql命令语句大全

mysql数据库操作sql命令语句大全:三表连表查询、更新时批量替换字段部分字符、判断某一张表是否存在、自动增长恢复从1开始、查询重复记录、更新时字段值等于原值加上一个字符串、更新某字段为随机值、复制表数据到另一个表、创建表时拷贝其他表的数
2022-11-20

mysql数据库操作_高手进阶常用的sql命令语句大全 原创

mysql数据库操作sql命令语句大全:三表连表查询、更新时批量替换字段部分字符、判断某一张表是否存在、自动增长恢复从1开始、查询重复记录、更新时字段值等于原值加上一个字符串、更新某字段为随机值、复制表数据到另一个表、创建表时拷贝其他表的数据和结构...
2022-11-21

如何使用SQL语句在MySQL中进行复杂的数据计算和处理?

MySQL是一款流行的关系型数据库管理系统,它不仅提供了基本数据操作功能,还支持复杂的数据计算和处理。本文将介绍如何使用SQL语句在MySQL中进行复杂的数据计算和处理,并提供具体的代码示例。使用聚合函数进行数据计算MySQL提供了一组聚合
如何使用SQL语句在MySQL中进行复杂的数据计算和处理?
2023-12-18

数据库备份和恢复的重要性!技术同学如何利用MySQL设计规约保护数据安全?

数据库备份和恢复的重要性!技术同学如何利用MySQL设计规约保护数据安全?数据库是现代应用开发中不可或缺的一部分,它存储了应用程序所需的大量数据,并且承载着企业的重要信息。然而,数据库也可能面临各种灾难,如硬盘故障、意外删除或数据被篡改等。
2023-10-22

SQLServer 错误 1204 SQL Server 数据库引擎的实例此时无法获得 LOCK 资源。 请在活动用户较少时重新运行该语句。 请询问数据库管理员,检查此实例的锁定和内存配置,或检查是否

详细信息 Attribute 值 产品名称 SQL Server 事件 ID 1204 事件源 MSSQLSERVER 组件 SQLEngine 符号名称 LK_OUTOF 消息正文 SQL Server ...
SQLServer 错误 1204 SQL Server 数据库引擎的实例此时无法获得 LOCK 资源。 请在活动用户较少时重新运行该语句。 请询问数据库管理员,检查此实例的锁定和内存配置,或检查是否
2023-11-05

编程热搜

目录