13.4 mysql用户管理
13.5 常用sql语句
13.6 mysql数据库备份恢复
13.4 mysql用户管理
mysql默认只有root用户,平时要减少直接用root操作数据库。创建权限受限的用户:grant all on *.* to 'user1'@'127.0.0.1' identified by 'passwd';
#用户后可以限定来源,也可以使用%来代替所有。如果不指定@ip,默认使用sock文件。如果把ip换成localhost,也默认使用sock文件。
也可以针对具体的权限进行授权:grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd';
。不限定ip:grant all on db1.* to 'user3'@'%' identified by 'passwd';
。
显示授权:show grants;
。也可以指定显示:show grants for user2@192.168.133.1;
。这个命令有一个妙用,就是复制粘贴查询结果,修改ip后执行,这样就为新ip克隆了一个授权。尤其是数据库有密码时很好用。
13.5 常用sql语句
关系型sql语句,大致有增删改查四方面。
select count(*) from mysql.user; #统计mysql库下user表
select * from mysql.db; #显示mysql库db表所有内容
select db from mysql.db; #显示mysql库db表下db字段内容
select db,user from mysql.db; #多个字段使用逗号隔开
select * from mysql.db where host like '192.168.%'; #使用where筛选条件
insert into db1.t1 values (1, 'abc'); #db1库t1表中插入一条数据
update db1.t1 set name='aaa' where id=1; #db1库t1表中修改数据
delete from db1.t1 where name='aaa'; #删除数据
truncate table db1.t1; #清空一个表,保留字段
drop table db1.t1; #删除一个表,不保留字段
drop database db1; #删除一个库
13.6 mysql数据库备份恢复
备份库 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
只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql