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