遠程連接mariadb時提示Accesss denied for user 'root'@'ip'(using password:YES)


 

在centos7服務器上的docker里面拉了centos鏡像,運行該鏡像成一個容器后。在該容器里面創建mysql……

步驟是按照騰訊雲搭建javaweb環境來的:https://cloud.tencent.com/developer/labs/lab/10035

發現mysql變成了mariadb了,關於msql和mariadb的區別於聯系:https://www.jb51.net/article/135170.htm

 

經過一番折騰,弄好了相關的配置

但是在本地遠程連接時一直出現以下的錯誤

 

網上關於這個問題的解決大部分都是教修改密碼(上面的錯誤也可能是密碼錯誤引起的)

關於教修改密碼的,推薦Stack Overflow上的一個方法,直接看下來,比很多博客寫的都要清楚,而且,還有很多不同的情況的討論,總有一個適合的吧?

https://stackoverflow.com/questions/41645309/mysql-error-access-denied-for-user-rootlocalhost

關於修改密碼時有幾點提示:

 

上面的第三步,如果是mariadb的話可能要用下面的命令來重啟

systemctl restart mariadb

 

還有第六步,那條修改密碼的命令並不是所有版本的mysql(mariadb)都適用。如果版本不對的話會提示語法錯誤。

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
SET password for 'root'@'localhost'=password('newpassword');  

 

不過,上面修改該密碼的操作並不適用於我遇到的錯誤,后來找到一篇可以解決我遇到的 問題的博客

https://blog.csdn.net/Alger_/article/details/76221404

意思是遠程連接數據庫的用戶名是root,會被拒絕?

所以要創建一個新的用戶來進行遠程連接,並授予該用戶遠程連接的權限

 

mysql>GRANT ALL PRIVILEGES ON *.* TO 'TestUser'@'%' IDENTIFIED BY '此處為TestUser的密碼’' WITH GRANT OPTION;

 

 問題解決!


免責聲明!

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



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