mysql的用户管理和授权
Mysql的用户信息都在数据库mysql下的user表中
我们查看下mysql.user表下有几个用户
SELECT HOST,user,PASSWORD from user;
发现系统有1个默认用户
创建一个用户
CREATE user test IDENTIFIED BY "123"; //创建一个test用户 密码是 123
新用户创建后是外网任何机器都有权限登录,但是没有权限操作的
现在要做的就是给test用户授权,mysql授权权限可以分为几个层级,
1;全局层级 //这个权限就比较大了可以操作所有的数据库 它的样式规范是*.*
2;数据库层级 // DBNAME.* 一般用这个比较好
3;表层级
4;列层级
5;子程序层级
用到的命令是
GRANT ALL PRIVILEGES ON 层级 to 用户名@主机 IDENTIFIED BY 密码;
例如
grant all privileges on *.* to [email protected] IDENTIFIED BY ‘123‘; //表示我给test用户在主机172.18.18.212上登陆数据库执行全局层级 也就是说有全部权限
撤销一个用户的权限命令
revoke
all
on
*.*
from
[email protected];
备注:虽然我执行这个命令之后但是select host,user from user;还是有相关信息,但是test用户还是有登陆权限的,就是不能操作了。
这条命令使用之后只能撤销权限并且不能删除用户删除用户命令
mysql>
delete
from
user
where
user
=
‘sss‘
and
host=
‘localhost‘
;
mysql>flush
privileges
;
Query OK, 1 row affected (0.02 sec)
还附上一下其他删除用户的命令
删除一个已有的用户
DROP USER test; //我这里删除已个用户
重命名用户
RENAME USER test to test123; //将test用户重命名为test123
修改知道用户的密码
SET PASSWORD FOR test123=PASSWORD(‘123456‘); //将test123的密码改为123456
记得要刷新表哦
mysql> FLUSH PRIVILEGES;
本文出自 “常想一二” 博客,请务必保留此出处http://972010.blog.51cto.com/962010/1621724
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。