Docker安裝MySQL后,為什么本地?zé)o法連接?

Docker安裝MySQL后,為什么本地?zé)o法連接?

docker安裝mysql后無法從本地連接

在使用docker圖形界面運(yùn)行mysql鏡像后,您可能遇到從本地?zé)o法連接到mysql的情況。盡管鏡像報(bào)告”等待連接”并且端口號(hào)為3306,但本地連接仍然無法成功。

原因

此問題通常是由以下原因引起的:

  • docker映射的端口可能不是3306(默認(rèn)端口)。
  • mysql用戶可能未配置為允許遠(yuǎn)程連接。

解決方案

1. 檢查端口映射

docker可能將mysql容器映射到本地系統(tǒng)上的不同端口。要查找映射的端口,請(qǐng)使用以下命令:

docker port [container_id] 3306

該命令將顯示映射的端口。例如,它可能顯示為:

33060/tcp -> 3306/tcp

這表示docker將容器中的3306端口映射到本地系統(tǒng)的33060端口。因此,您需要連接到33060端口。

2. 修改mysql用戶設(shè)置

要允許遠(yuǎn)程連接,您需要修改mysql容器中的mysql用戶設(shè)置。可以使用以下命令編輯mysql配置:

docker exec -it [container_id] bash  vi /etc/mysql/mysql.conf.d/mysqld.cnf

在配置文件中找到以下行:

# bind-address        = 127.0.0.1

將該行注釋掉或?qū)⑵涓臑椋?/p>

bind-address        = 0.0.0.0

這將允許mysql用戶從任何ip地址接受連接。

連接到docker mysql

執(zhí)行上述步驟后,您應(yīng)該能夠使用以下命令連接到docker mysql:

mysql -P 33060 -u root -p

其中,33060是映射的端口號(hào)。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享