docker安裝好mysql,併成功啓動,在本地用Navicat連接報2059錯誤,解決方法

問題描述:

docker成功安裝了mysql,也正常啓動了。

啓動命名如下:

docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

用docker ps -a 也可以查到容器中mysql也在運行中,如下圖:

 

但是在本地用Navicat登錄的時候,發現報錯了。報錯信息

連接Docker啓動的mysql出現:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

信息如圖:

 

解決方案:

1.進入mysql容器

docker exec -it mysql01 /bin/bash

2.進入mysql

mysql -uroot -pmima(這個地方的老的密碼)

3.修改密碼

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';(這個地方是新的密碼)

修改好了之後,再用Navicat登錄就可以了。

 

4、注意事項:

這個時候,如果重啓下docker裏的mysql容器,用mysql命令登錄mysql服務器。你會發現,用新改的密碼是登錄不了的,需要用老的密碼(123456)才能登錄。這是因爲之前的alter語句的問題。要想保持密碼一致,需要再執行下alter語句。

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

這裏要把剛纔那個  % 改成  localhost  才行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章