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