码迷,mamicode.com
首页 > 数据库 > 详细

mysql的用户管理和授权

时间:2015-03-18 18:37:22      阅读:203      评论:0      收藏:0      [点我收藏+]

标签: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 test@172.18.18.212 IDENTIFIED BY ‘123‘;  //表示我给test用户在主机172.18.18.212上登陆数据库执行全局层级 也就是说有全部权限


撤销一个用户的权限命令

 revoke  all on *.* from test@172.18.18.212;

备注:虽然我执行这个命令之后但是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

mysql的用户管理和授权

标签:mysql用户创建及授权

原文地址:http://972010.blog.51cto.com/962010/1621724

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!