mysql鏈接錯誤

從windows鏈接linux上的mysql出錯。
linux用的是centos7, 64位。mysql

錯誤代碼依次爲:
如下操做都使用的是root權限linux

2003 / 10060

不知道爲何,這兩個錯誤碼顯示在一行:
2003 - Can't connect to MySQL server on '192.168.31.65' (10060)
多是防火牆的緣由, 好比個人3306沒開web

$ firewall-cmd --list-ports
9200/tcp 9300/tcp 5601/tcp 6379/tcp 8090/tcp 1999/tcp

# 上面查看發現3306沒開,開一下
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
$ firewall-cmd --reload

再連,報錯1130 - Host '192.168.31.106' is not allowed to connect to this MySQL serversql

1130

這明顯是權限的問題,我是這樣解決的:windows

$ mysql -uroot -p

mysql> grant all on *.* to 'root'@'192.168.31.106';
mysql> flush privileges;

再連,報錯1045 - Access denied for user 'root'@'192.168.31.106' (using password: YES)centos

1045

這錯誤真是讓人莫名其妙, 上面明明已經給權限了。
我是這樣解決的:
注意: 'gerrylon’是mysql root用戶的密碼bash

mysql> grant all on *.* to 'root'@'192.168.31.106' identified  by 'gerrylon';
mysql> flush privileges;

最後鏈接成功。tcp

參考:
https://stackoverflow.com/questions/2857446/error-1130-in-mysqlide

歡迎補充指正!svg