8.23 mysql用户管理、常用sql语句、数据库备份与恢复

1、mysql用户管理

   grant语句不会记录到命令历史中

  grant all on *.* to 'user1' identified by 'passwd';  //第一个*表示库,第二个*表示表,*.*表示所有的库和表

  grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd';  //其中的IP地址是来源IP,只允许在此主机登录,如果需要在本机通过socket连接,则需要将IP地址修改为'user2'@'localhost',其中SELECT,UPDATE,INSERT是指可以进行的操作,db1是指具体的表名

  grant all on db1.* to 'user3'@'%' identified by 'passwd';对所有的IP地址授权

  show grants;  //显示当前用户权限

  show grants for user2@192.168.133.1;

  由上图可以看出user2有所有的权限

2、常用sql语句

  select count(*) from mysql.user;查找mysql库下user表的行数

  select * from mysql.db;查看db表中所有的内容,

  select db from mysql.db;查找db字段

  select db,user from mysql.db;查找db和user字段

  select * from mysql.db where host like '192.168.%';模糊查询

  insert into db1.t1 values (1, 'abc');向db1.t1中插入1和abc,由于abc为字符串,所以需要加单引号

  update db1.t1 set name='aaa' where id=1;更新表中的数值,将id为1的name更改为aaa

  truncate table db1.t1;清空表db1.t1,只会清空表中的数据,不会清空字段,而drop则是直接删除表

  drop table db1.t1;删除表

  drop database db1;删除数据库

3、数据库备份与恢复

  备份库 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

  恢复库 mysql -uroot -p123456 mysql < /tmp/mysql.sql,也可以恢复到其他库中

  备份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql

  恢复表 mysql -uroot -p123456 mysql < /tmp/user.sql,恢复表时,只需要写库的名字就可以,不需要写具体的表名

  备份所有库 mysqldump -uroot -p -A >/tmp/123.sql,其中-A表示all

  只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql,只备份表的结构,不备份表中的数据

原文地址:https://www.cnblogs.com/w494129131/p/9515593.html