之前VMWare虛擬機(jī)CentOS7使用DHCP,導(dǎo)致只要重啟操作系統(tǒng),網(wǎng)卡IP地址就改變。于是把網(wǎng)卡修改為手工設(shè)定IP地址,結(jié)果導(dǎo)致遠(yuǎn)程連接mysql出現(xiàn)如下錯(cuò)誤,花了很多時(shí)間還沒有解決,最終偶然想到Docker被外部請(qǐng)求訪問(wèn)可能有中轉(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)程連接還是存在同樣的連接問(wèn)題。
(2)于是判斷mysql服務(wù)沒有被防火墻允許,執(zhí)行:
firewall-cmd --add-service=mysql firewall-cmd --reload firewall-cmd --query-service=mysql
但是遠(yuǎn)程連接還是存在同樣的連接問(wèn)題。
(3)于是判斷docker沒有被防火墻允許,但是提示如下錯(cuò)誤:
Error: INVALID_SERVICE: docker
(4)到這里卡住了。Docker被外部請(qǐng)求訪問(wèn),應(yīng)該有一系列IP包轉(zhuǎn)發(fā)行為,求助網(wǎng)絡(luò),有人認(rèn)為防火墻默認(rèn)不允許NAT轉(zhuǎn)發(fā),所以才導(dǎo)致很多問(wèn)題產(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