最近在使用Docker運(yùn)行MySQL時(shí),遇到了一個(gè)問(wèn)題,即當(dāng)重啟容器后,MySQL無(wú)法連接。
$ docker restart mysql-container
重啟后,系統(tǒng)會(huì)提示無(wú)法連接到MySQL。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
這是因?yàn)橹貑⑷萜骱螅琈ySQL返回了一個(gè)新的IP地址,而該地址沒(méi)有被MySQL客戶(hù)端緩存。
解決方法是清除緩存,然后重新連接。
$ sudo service nscd restart $ mysql -h 127.0.0.1 -u root -p
在清除緩存后,現(xiàn)在可以重新連接到MySQL服務(wù)并正常工作了。