在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;
問題解決!