遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案
之前VMWare虛擬機(jī)CentOS7使用DHCP,導(dǎo)致只要重啟操作系統(tǒng),網(wǎng)卡IP地址就改變。于是把網(wǎng)卡修改為手工設(shè)定IP地址,結(jié)果導(dǎo)致遠(yuǎn)程連接mysql出現(xiàn)如下錯誤,花了很多時間還沒有解決,最終偶然想到Docker被外部請求訪問可能有中轉(zhuǎn)行為才得到解決。
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.101.26' (10060)
附上網(wǎng)卡配置文件修改指令:
cd /etc/sysconfig/system-scripts vim ifcfg-ens33
以及網(wǎng)卡配置文件ifcfg-ens33內(nèi)容:

解決方案:
(1)剛開始,我判斷可能是防火墻沒有開啟端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload firewall-cmd --query-port=3306/tcp

但是遠(yuǎn)程連接還是存在同樣的連接問題。

(2)于是判斷mysql服務(wù)沒有被防火墻允許,執(zhí)行:
firewall-cmd --add-service=mysql firewall-cmd --reload firewall-cmd --query-service=mysql
但是遠(yuǎn)程連接還是存在同樣的連接問題。
(3)于是判斷docker沒有被防火墻允許,但是提示如下錯誤:
Error: INVALID_SERVICE: docker
(4)到這里卡住了。Docker被外部請求訪問,應(yīng)該有一系列IP包轉(zhuǎn)發(fā)行為,求助網(wǎng)絡(luò),有人認(rèn)為防火墻默認(rèn)不允許NAT轉(zhuǎn)發(fā),所以才導(dǎo)致很多問題產(chǎn)生。于是執(zhí)行如下指令:
firewall-cmd --zone=public --add-masquerade --permanent firewall-cmd --permanent --zone=trusted --change-interface=docker0 firewall-cmd --reload systemctl restart docker docker start 66bebcd41183

到此這篇關(guān)于遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案的文章就介紹到這了,更多相關(guān)遠(yuǎn)程連接Docker上的Mysql失敗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker下修改mysql配置文件的方法
- 詳解利用Dockerfile構(gòu)建mysql鏡像并實(shí)現(xiàn)數(shù)據(jù)的初始化及權(quán)限設(shè)置
- 連接docker里面的mysql失敗解決方法
- Docker中部署mysql服務(wù)的方法及遇到的坑
- docker中使用mysql數(shù)據(jù)庫詳解(在局域網(wǎng)訪問)
- Docker安裝MySQL8.0的實(shí)現(xiàn)方法
- 完美解決docker安裝mysql后Navicat連接不上的問題
- docker中mysql初始化及啟動失敗問題解決方案
- 淺析docker-compose部署mysql無法訪問的問題
相關(guān)文章
CentOS7 docker服務(wù)無法啟動解決方案及實(shí)現(xiàn)步驟
這篇文章主要介紹了CentOS7 docker服務(wù)無法啟動解決方案及實(shí)現(xiàn)步驟的相關(guān)資料,這里對Docker 服務(wù)無法啟動做了詳細(xì)的排查工作及流程,并附解決辦法,需要的朋友可以參考下2016-12-12
Docker容器跨主機(jī)通信overlay網(wǎng)絡(luò)的解決方案
Overlay網(wǎng)絡(luò)是指在不改變現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施的前提下,通過某種約定通信協(xié)議,把二層報文封裝在IP報文之上的新的數(shù)據(jù)格式,本文給大家介紹Docker容器跨主機(jī)通信overlay網(wǎng)絡(luò)的方案,感興趣的朋友一起看看吧2022-02-02
Docker從零開始學(xué)習(xí)之Commit提交命令
docker commit命令是用于根據(jù)docker容器的改變創(chuàng)建一個新的docker鏡像,下面這篇文章主要給大家介紹了關(guān)于Docker從零開始學(xué)習(xí)之Commit提交命令的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
Docker部署RabbitMQ的實(shí)現(xiàn)方法(圖文并茂)
本文詳細(xì)介紹了如何使用Docker部署RabbitMQ的步驟,包括拉取RabbitMQ鏡像,創(chuàng)建與授權(quán)文件夾,創(chuàng)建RabbitMQ容器,查看啟動日志,訪問控制臺和登錄等,全程詳細(xì)的參數(shù)解釋和操作步驟,讓Docker部署RabbitMQ變得簡單易行2024-10-10
Docker?Windows最新版(4.17.x)修改鏡像存儲路徑的詳細(xì)步驟
這篇文章主要介紹了Docker?WIndows最新版(4.17.x)修改鏡像存儲路徑的步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03

