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';
還可以指定該使用者只能執行 select和update命令:
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表;