1. 程式人生 > >perationalError: (2003, "Can't connect to MySQL server on u'192.168.1.6' (timed out)")

perationalError: (2003, "Can't connect to MySQL server on u'192.168.1.6' (timed out)")

在Ubuntu(192.168.1.20)中部署專案後,mysql還在另外一臺windows(192.168.1.6)機子上,ping windows時可以ping通,但是訪問專案提示:

perationalError: (2003, "Can't connect to MySQL server on u'192.168.1.6' (timed out)")

 

原來是mysql的預設埠3306沒有開放,

[email protected]:~$ telnet 192.168.1.6 3306
Trying 192.168.1.6...
telnet: Unable to connect to remote host: Connection timed 
out

開啟windows防火牆,入站規則新增3306埠。

再次訪問,又提示:

InternalError: (1130, u"Host '192.168.1.20' is not allowed to connect to this MySQL server")

怎麼還是不能連線,原來是你的root帳號不允許從遠端登陸,只能在
localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改”mysql” 資料庫裡的 “user” 表裡的 “host”項,從”localhost”改為”%

進入windows的mysql安裝的bin目錄

mysql -uroot -p root
mysql
->use mysql mysql->update user set host = '%' where user ='root'; mysql->grant all privileges on *.* to 'root'@'%' with grant option; mysql->flush privileges; mysql->exit;

最後重啟下mysql服務

 

再次訪問終於不報錯了