鍍金池/ 問答/Linux  數(shù)據(jù)庫/ docker 安裝的 mysql5.6 , 如何遠(yuǎn)程登錄?

docker 安裝的 mysql5.6 , 如何遠(yuǎn)程登錄?

docker 安裝的 mysql5.6,進(jìn)入容器可以連接,但是不能通過外部比如 navicat 連接,這個(gè)好像是要改配置文件什么的,但是我沒改成功,究竟要怎么做?

回答
編輯回答
愿如初

mysql正常監(jiān)聽3306端口,如果在docker容器里面可以連接的話,證明docker環(huán)境端口已經(jīng)打開。
那么在外面連接不上的原因:可能是docker端口沒有映射到宿主機(jī)上。
解決方案:
宿主機(jī)為Linux環(huán)境的話,直接在docker run 命令中使用 -p 3306:3306映射即可
宿主機(jī)為windows環(huán)境的話,使用上述命令做好映射之后,還需要查找一下docker虛擬機(jī)的ip進(jìn)行連接
命令為docker-machine ip default
原因是:docker是運(yùn)行在Linux上的,在Windows中運(yùn)行docker,實(shí)際上還是在Windows下先安裝了一個(gè)Linux環(huán)境,然后在這個(gè)系統(tǒng)中運(yùn)行的docker。也就是說,服務(wù)中使用的localhost指的是這個(gè)Linux環(huán)境的地址,而不是我們的宿主環(huán)境Windows。

2017年12月4日 19:06
編輯回答
爛人

不妨一試https://stackoverflow.com/questions/41374555/how-to-connect-mysql-client-with-server-running-in-docker

2018年3月2日 05:22
編輯回答
女流氓

創(chuàng)建實(shí)例的時(shí)候使用
-p 330x:3306 映射端口
-e MYSQL_ROOT_PASSWORD=yourpwd 創(chuàng)建密碼

2017年3月6日 07:25
編輯回答
落殤

要將端口影射到宿主機(jī)上

2018年5月11日 02:16