MySQL数据库授权的两种方式

方法一:grant命令创建用户并授权(针对只修改权限)

grant命令简单语法如下:

grant all privileges on dbname.* to username@localhost identified by 'passwd';

列表说明如下:

 

     说明:上述命令是授权localhost主机上通过用户username管理dbname数据库的所有权限,密码是passwd。其中,username,dbname,passwd可根据业务的情况修改。

 

举例:创建yuwen用户,对test库具备所有权限,允许从localhost主机登陆管理数据库,密码为yuwen。

首先,查看下当前数据库用户情况:

mysql> select user,host from mysql.user;

 

 然后,执行如下授权命令:

mysql> grant all on test.* to yuwen@localhost identified by 'yuwen';

最后,查看当前数据库用户情况:

mysql> select user,host from mysql.user;

 

 查看授权用户具体权限:

mysql>show grants for yuwen@`%`;(或者mysql> show grants for yuwen@`%` \G)

 

  说明:可以看到默认权限是usage,即连接权限,后面又增加了all权限!

 

==============================================================================

 

方法二:create和grant配合法(创建用户并修改权限)

首先创建用户username及密码passwd,授权主机localhost。

  语法:create user username@localhost identified by 'passwd';

  如:创建用户utest及密码test,授权主机localhost。

mysql> create user utest@localhost identified by 'utest';

 

然后授权localhost主机上通过用户username管理dbname数据库的所有权限,无需密码。

  语法:grant all on dbname.* to username@localhost;

  如:授权localhost主机上utest管理test数据库的所有权限。

mysql> grant all on test.* to utest@localhost;

 

  查看当前用户信息: 

mysql> select user,host from mysql.user;

 

 

 查看utest具体权限: 

mysql> show grants for utest@localhost;(或者mysql> show grants for utest@localhost\G)

 

 mysql刷新权限命令:FLUSH PRIVILEGES;(一般用于数据库用户信息更新后)

posted @   xiao智  阅读(9277)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示