Docker 安裝 MySQL 后,本地無法連接,是什么原因?

Docker 安裝 MySQL 后,本地無法連接,是什么原因?

docker安裝mysql,為何無法通過本地連接?

在使用docker安裝mysql并運行鏡像后,雖然容器內提示已準備好連接并顯示端口號為3306,但本地使用命令行嘗試連接時卻顯示錯誤。這背后的原因是什么?

答案在于映射端口。docker容器運行時,它們與宿主機具有隔離的網絡空間。因此,容器內的3306端口并不直接映射到宿主機。而是會根據宿主機和容器的網絡配置,動態分配一個端口。

在大多數情況下,docker會自動分配一個端口,該端口通過命令 docker ps 可查詢。在這個例子中,映射端口應該是33060。

因此,要從本地連接到docker中的mysql,需要指定映射端口:

mysql -P 33060 -u root -p

另外,還需要修改容器內mysql用戶的權限,以允許遠程連接。最簡單的辦法是把用戶的主機名設置為 %,允許來自任何主機的連接。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享