如何給MySql創建連接用戶並授權


一般在為MySql創建用戶時建議使用GRANT前台命令,當然如果對我們開發者而言,方法還有很多種,比如使用INSERT命令,甚至是直接修改mysql user數據表,但仍然建議按照MySQL規范去授權賬戶。因為它太容易忘記,特別整理方便參考。

1、登錄MySQL

輸入mysql -u root和密碼即可登錄到Mysql。

2、選擇數據庫

語句如下:use mysql;

3、在mysql的user表中增加連接用戶

GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

其中:

“username”替換為將要授權的用戶名,比如clientusr;

“password”替換為clientusr設置的密碼;

4、可訪問數據表授權

創建好帳戶之后,就開始給上面的common user進行數據表授權,步驟3中增加的連接用戶默認權限都是“N”的,必須在db表中為該帳戶授權,允許其訪問專用數據庫,當然超級用戶就不說了。

使用下面語句:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbx.*  TO 'username'@'localhost' IDENTIFIED BY 'password';

本語句中的權限根據實際需要確定:

"dbx"替換為授權訪問的數據庫名,如果只給某張表授權:dbx.tablename

"username"是步驟2授權用戶名

"password"是步驟2授權用戶的設置密碼

這樣就為該用戶授予了對某數據表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP權限。

5、生效授權,創建完畢

FLUSH PRIVILEGES;

備注:

1、不要直接使用INSERT語句添加user記錄,使用INSERT可能出現:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value錯誤。不過早期的MYSQL版本筆者倒沒出現這個錯誤,因為天緣一直都是直接修改user表或直接使用INSERT語句完成,后來升級MYSQL到5.1的時候,發現可能會出現這個錯誤。

2、上文3和4,也可使用一句話GRANT ALL ON tbx.* TO 'username' IDENTIFIED BY 'password',這句話會自動創建username並為之授權。更多授權權限可參考MYSQL官方網站。


免責聲明!

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



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