mysql用戶與權限操作


本文所有操作均在mysql8.1下驗證,mysql5.x部分語句不適用。

1、創建用戶

create user 'test'@'%' identified by '123456'; # 創建用戶test,密碼123456,%表示允許在所有主機登陸

  用戶表為mysql庫小的user表,Host+User為聯合主鍵User+Host唯一確認一個用戶,本文中的用戶均已 'User'@'Host' 格式表示。

2、修改密碼

alter user 'test'@'%' identified by '654321'; # 修改密碼為654321

3、刪除用戶

drop user 'test'@'%';

4、分配權限

  grant語句會做並集處理,而且只能分配當前操作用戶所擁有的權限。

  1)對 test'@'%' 用戶分配所有庫的全部表的全部操作權限,*.*:第一個*表示全部庫,第二個*表示庫下的所有表

grant all on *.* to 'test'@'%';
grant all on *.* to 'test'@'%' with grant option; // with grant option,權限可繼續分配

  2)分配具體庫的全部表權限:

grant all on db_test.* to 'test'@'%';

  3)只分配具體表的權限:

grant all on db_test.t_test to 'test'@'%';

  4)指定具體操作權限:

grant select,insert,update,delete on db_test.* to 'test'@'%'; // 分配db_test庫的增刪改查權限

  操作權限可通過show privileges 查詢:

show privileges;

 

5、查詢權限

show grants for 'test'@'%';

6、收回權限。收回權限與分配權限語法一致,只是關鍵字變成了revoke。

revoke all on *.* from 'test'@'%';

7、刷新操作權限。在分配或收回權限后記得要執行該語句。

flush privileges;

 


免責聲明!

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



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