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;(一般用於數據庫用戶信息更新后)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM