記一次Navicat for MySQL 10060錯誤的解決過程

最近加班挺多,所以也好久沒遠程訪問自己雲服務器上的MySQL數據庫了。今天本地啟動Node服務時連不上MySQL,照常用Navicat For MySQL連接遠程數據庫進行檢查,結果發現突然報錯了。

<code>2003-Can’t connect to MySQL server on ‘XXX.XX.XX.XX’(10060)/<code>

檢查網絡

第一反應還是檢查網絡是不是正常,所以就馬上ping測試一下,然而發現並不是網絡問題,可以正常ping通。

<code>ping XXX.XX.XX.XX

正在 Ping XXX.XX.XX.XX 具有 32 字節的數據:
來自 XXX.XX.XX.XX 的回覆: 字節=32 時間=64ms TTL=47
/<code>

檢查安全組

然後就想著看看雲服務器的安全組設置是否有問題,但是之前都沒出過這個問題,講道理安全組出現問題的可能性不大,但還是先檢查下為妙。

登錄騰訊雲後,發現實例對應的安全組設置妥妥的,沒有什麼問題。


記一次Navicat for MySQL 10060錯誤的解決過程


檢查下用戶權限

由於是我自己的服務器,所以用的都是root用戶。需要在xshell中登錄MySQL查詢下user表。

<code>mysql -uroot -p
輸入密碼
mysql> use mysql
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | root |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
4 rows in set (0.00 sec)/<code>

可以發現,root對應的host是%,任意的意思,也就意味著root用戶在連接MySQL時不受ip約束。

所以說也不是這裡的問題啦!

檢查CentOS防火牆

這是很容易忽略的一步,可能很多人都會認為安全組已經設置好了,不必再檢查CentOS的防火牆。其實是很有必要檢查防火牆的,我們應該把3306放通,再重啟防火牆。

<code>[root@VM_0_14_centos ~]# firewall-cmd --permanent --zone=public --add-port=3306/tcp
success
[root@VM_0_14_centos ~]# firewall-cmd --reload

success/<code>

然後一看,很愉快,Navicat for MySQL連接遠程數據庫成功!


記一次Navicat for MySQL 10060錯誤的解決過程


作者:Tusi
鏈接:https://juejin.im/post/5e707219f265da571d2f4415、


分享到:


相關文章: