1. 程式人生 > 資料庫 >詳解mysql8.0建立使用者授予許可權報錯解決方法

詳解mysql8.0建立使用者授予許可權報錯解決方法

問題一:

會報錯的寫法:

GRANT ALL PRIVILEGES ON *.* ‘root'@'%' identified by ‘123123'WITH GRANT OPTION;

以下是正確的寫法:

grant all privileges on *.* to ‘root'@'%' ;

可見,在授權的語句中需要去掉

IDENTIFIED BY ‘password';

單獨授予某種許可權的寫法:

GRANT SELECT 
ON oilsystem.input 
TO ‘u5'@'localhost'

重新整理許可權並檢視許可權的寫法:

FLUSH PRIVILEGES; 
select * from user;

注意:在建立使用者前需要加一句

Use mysql;

另外,收回某種許可權的寫法是:

REVOKE select 
ON . 


FROM ‘u1'@'localhost';

問題二:

Mysql遠端連線報錯:authentication plugin caching_sha2

mysql 8.0 預設使用 caching_sha2_password 身份驗證機制 —— 從原來的 mysql_native_password 更改為 caching_sha2_password。

從 5.7 升級 8.0 版本的不會改變現有使用者的身份驗證方法,但新使用者會預設使用新的 caching_sha2_password 。

客戶端不支援新的加密方式。

方法之一,修改使用者的密碼和加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密碼';

mysql8.*的新特性 caching_sha2_password 密碼加密方式

以前版本的mysql密碼加密使用的是 mysql_native_password

新新增的使用者密碼預設使用的 caching_sha2_password

如果在以前mysql基礎上升級的 就得使用者使用的密碼加密使用的是 mysql_native_password

如果使用以前的密碼加密方式,就修改檔案 /etc/my.cnf最後:我也是踩了無數的坑才部署成功。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。