MySQL8用戶/權限相關常用操作


1. 常用操作

 1 # 進入mysql數據庫
 2 use mysql;
 3 
 4 # 創建用戶,ip填'%'表示允許所有ip
 5 create user 'username'@'ip' IDENTIFIED by 'password';
 6 
 7 # 允許遠程客戶端通過密碼訪問
 8 alter user 'username'@'ip' IDENTIFIED WITH mysql_native_password by 'password';
 9 
10 # 直接創建能夠通過遠程客戶端訪問的賬戶
11 create user 'username'@'ip' IDENTIFIED WITH mysql_native_password by 'password';
12 
13 # 刪除用戶
14 drop user 'username'@'ip';
15 # 刪除以后要刷新權限
16 FLUSH PRIVILEGES;
17 
18 # 修改用戶
19 rename user 'username'@'ip' to 'new_username'@'new_ip';
20 
21 # 修改密碼
22 set password for 'username'@'ip'='new_password';
23 
24 # 查看權限
25 show GRANTS;
26 # 查看指定用戶權限
27 show GRANTS for 'username'@'ip';
28 
29 # 授予部分權限,db和table填*表示所有
30 grant SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX, CREATE VIEW, SHOW VIEW, CREATE TEMPORARY TABLES on dbname.tablename to 'username'@'ip';
31 
32 # 授予所有權限,
33 grant ALL PRIVILEGES on dbname.tablename to 'username'@'ip';
34 
35 # 撤銷授權
36 revoke all on *.* from 'username'@'ip';
37 
38 # 可以搭配"用戶-角色-權限"使用,這個交給DBA處理吧=_=

 

2. 常見問題

  a. 創建用戶時報錯 [Err] 1396 - Operation CREATE USER failed for 'username'@'ip' 解決方法

    可能原因:

      1. 用戶已存在;

      2. 使用delete語句刪除用戶后沒有刷新權限;

      3. 用戶不存在,但是存在該用戶的權限信息。

    解決步驟:

      1. 創建過用戶,查詢后發現無此用戶:

        執行 FLUSH PRIVILEGES; 語句后,重新執行創建語句

      2. 如果還是報錯:

        執行 drop user 'username'@'ip';

        然后執行 FLUSH PRIVILEGES;

        然后再執行創建語句

 

 

 

參考文章:

  -- 創建&授權

  https://www.cnblogs.com/zhaohaiyu/p/11459613.html mysql創建用戶和權限管理

  -- 撤銷權限

  https://www.cnblogs.com/qlqwjy/p/8022575.html MySql授權和撤銷權限操作

  -- 刪除用戶

  https://blog.csdn.net/asty9000/article/details/80945631 mysql創建用戶報錯[Err] 1396 - Operation CREATE USER failed for 'test'@'%'的解決方法

  -- 權限說明

  https://www.cnblogs.com/yingsong/p/9718426.html 【轉載整理】mysql權限分配詳解

  https://www.jb51.net/article/31850.htm MySQL創建用戶與授權方法


免責聲明!

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



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