從windows鏈接linux上的mysql出錯。
linux用的是centos7, 64位。mysql
錯誤代碼依次爲:
如下操做都使用的是root權限linux
不知道爲何,這兩個錯誤碼顯示在一行:
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 server
。sql
這明顯是權限的問題,我是這樣解決的: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
這錯誤真是讓人莫名其妙, 上面明明已經給權限了。
我是這樣解決的:
注意: '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