mysql8.0用戶密碼設置注意事項


在MySQL 8.0.11中,caching_sha2_password是默認的身份驗證插件,而不是以往的mysql_native_password。有關此更改對服務器操作的影響以及服務器與客戶端和連接器的兼容性的信息,請參閱caching_sha2_password作為首選的身份驗證插件。(翻譯自https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html

今天在新服務上配置安裝mysql8.0.11時,像往常一樣設置mysql密碼,設置成功后在shell下輸入mysql -u root -p,再輸入密碼能正常進入,但在phpmyadmin或直接用http://php.net/manual/zh/mysqli.real-connect.php上的連接,均提示無法連接,具體報錯信息為

mysqli_real_connect(): The server requested authentication method unknown to the client [sha256_password]  

 搜了一圈,找到官方文檔才發現從8.0.11版本起,不再像mysql5.7及以前版本那樣,設置用戶密碼時默認的驗證方式為caching_sha2_password,如果發現升級mysql8.0.11后原有的程序不能連接mysql,可迅速在mysql command line client客戶端用下面的命令設置成mysql5.7及以前版本的密碼驗證方式,同時MYSQL8.0.11下修改密碼的方式與原先也不大一樣,原先的部分修改密碼的命令在mysql8.0.11下不能使用。

> use mysql  
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';  
> FLUSH PRIVILEGES;

 


免責聲明!

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



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