最近在使用docker安裝mysql時遇到了連接不上的問題,經過一番搜索和嘗試終于解決了,現在將解決過程分享給大家。
首先,我們需要在docker中運行mysql,可以使用以下命令進行安裝:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
該命令會從docker hub上面下載mysql鏡像,并創建一個叫做mysql的容器。
接下來,我們需要使用客戶端工具來連接mysql,這里我選擇了Navicat Premium。
在Navicat Premium中,我們需要創建一個新的連接:
主機/Socket地址: 127.0.0.1
端口: 3306
用戶名: root
密碼: 123456
接下來,我們嘗試連接mysql,但是發現一直連接不上,提示“Can't connect to MySQL server on '127.0.0.1' (10061)”。
經過一番排查,我發現原因是mysql的默認配置不允許遠程連接。
為了解決這個問題,我們需要進入mysql容器中進行配置。
使用以下命令進入mysql容器:
docker exec -it mysql bash
進入容器后,使用以下命令進入mysql:
mysql -uroot -p
進入后,使用以下命令進行遠程連接配置:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
執行完以上命令后,退出mysql:
exit
退出容器:
exit
現在我們重啟mysql容器:
docker restart mysql
然后在Navicat Premium中重新連接mysql,現在成功連接了!