mysql用户管理
创建一个网站需要连接Mysql,默认是root用户,但是我们不能总是连接root,万一操作错误就会出问题
对于某个数据库,给user1设定权限
grant all on *.* to 'user1' identified by 'passwd';
mysql> grant all on *.* to 'user' identified by '123';
Query OK, 0 rows affected (0.00 sec)
grant all on *.* to 'user1' @'127.0.0.1' identified by '123456a';
grant:授权
all:所有的权限
*.*:表示所有,第一个*表示库名
@后面也可写成%,表示通配,所有的ip
使用的是socket通信
此时,我们退出mysql数据库后再连接mysql,出现报错,因为默认连接使用的是socket,当授权是localhost时,可以直接连接mysql
我们也可以不用给所有的权限,只给定几个权限
grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.37.1' identified by 'passwd';
grant all on db1.* to 'user3'@'%' identified by 'passwd';
show grants; //查看所有的授权,当前用户的授权
show grants for user2@192.168.37.1; //查看指定用户的授权
常用的sql语句
select count(*) from mysql.user; //count(*)表示查找表的行数
select count(*) from mysql.user; //count(*)表示查找表的行数
select * from mysql.db;
select db from mysql.db; //db表示字段
select db,user from mysql.db;
select * from mysql.db where host like '192.168.%'; //模糊匹配
insert into db1.t1 values (1, 'abc'); //name字段abc是字符串,最好加上单引号
update db1.t1 set name='aaa' where id=1;
delete from db1.t1 where id=2; //删除操作
truncate table db1.t1; //只是清空数据
drop table db1.t1; //所有的数据、结构等全清空
drop database db1; //删掉数据库db1
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 -p123456 -A >/tmp/123.sql //-A表示所有的库
只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql