1. 程式人生 > >MySQL資料庫新建使用者與授權方法

MySQL資料庫新建使用者與授權方法

一般情況下,修改MySQL密碼,授權,是需要有mysql裡的root許可權的。

上篇安裝完MySQL資料庫之後我們對root使用者修改了密碼,之後我用root使用者在navicat for mysql資料庫管理工具進行遠端連線,發現會出現如下錯誤:



因為在安裝配置的過程中我們設定root賬戶預設不開放遠端訪問許可權,所以我的解決方案是在MySQL中新建使用者並授權。

解決方案:

1.新建使用者

//登入mysql

@>mysql -u root -p

@>密碼

//建立新使用者

mysql> CREATE USER ‘username’@’host’ IDENTIFIED BY ‘password’;

說明:username - 你將建立的使用者名稱, host - 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost, 如果想讓該使用者可以從任意遠端主機登陸,可以使用萬用字元%. password - 該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登陸伺服器. 

例如:mysql>CREATE USER 'user'@'localhost' IDENTIFIED BY '123456'; 

2.授權

mysql>GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' IDENTIFIED BY '123456';

授予user使用者在所有資料庫上的所有許可權。

如果此時發現給的許可權太大了,我們可以只給user使用者授予某個資料庫的許可權,這時需要撤銷剛才的授權,

mysql>EVOKE ALL PRIVILEGES ON *.* FROM 'user'@'localhost';

mysql>GRANT ALL PRIVILEGES ON wordpress.* TO 'user'@'localhost' IDENTIFIED BY '123456';

還可以指定該使用者只能執行 selectupdate命令:

mysql>GRANT SELECT, UPDATE ON wordpress.* TO 'user'@'localhost' IDENTIFIED BY '123456';

重新整理許可權:

mysql>FLUSH PRIVILEGES;

這時候用user使用者在navicat中登入的話可以發現有一個數據庫wordpress



3.刪除使用者

mysql>DROP USER [email protected];

可以發現不管是授權,還是撤銷授權,都要指定響應的host(即@符號後面的內容),因為以上及格命令實際上都是在操作mysql資料庫中的user;