mysql8.0安裝之后一些問題記錄

MySQL 8.0的升級更改細(xì)節(jié)

系統(tǒng)變量的默認(rèn)值 從 mysql_native_password變?yōu)?caching_sha2_password。此更改僅適用于安裝或升級到MySQL 8.0.4或更高版本后創(chuàng)建的新帳戶。

希望切換到的現(xiàn)有用戶caching_sha2_password可以使用以下ALTER USER語句執(zhí)行此操作:

ALTER USER user
  IDENTIFIED WITH caching_sha2_password
  BY 'password';
  • 引出安裝后出現(xiàn)的第一個問題:這種加密方式讓很多和MySQL連接的界面工具(如Navicat)或編程語言mysqli接口失效:

錯誤代碼

Error : The server requested authentication method unknown to the client [caching_sha2_password]

原因是不識別MySQL8.0版本的加密方式

更改過程

//1、進(jìn)入mysql
mysql -u root -p
//2、更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
//3、更改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
//4、刷新
FLUSH PRIVILEGES;

上述需要注意的是:'password'這個是要你自己修改的

  • 在上面更改的過程中,我們可能不知不覺就會把密碼改成其他的了,然后我們再用原密碼登陸。就會出現(xiàn)這個錯誤信息
Access denied for user ‘root’@’localhost’ (using password: YES)

提示很明顯,就是你輸入的密碼出現(xiàn)錯誤,如果我們不知道密碼被改成啥樣了。這個修改也很簡單
Mysql8.0以前修改方式

/etc/init.d/mysql stop 

mysqld_safe –skip-grant-tables & 

mysql -uroot -p 

mysql>update mysql.user set password=password('mypassword') where user=’root’; 

mysql>flush privileges; 

mysql>quit

Mysql8.0以后修改方式

> use mysql  
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';  
> FLUSH PRIVILEGES;   
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容