解決Navicat無法連接到MySQL的問題


最近遇到了一件非常棘手的問題,用Navicat遠程連接數據庫居然連接不到,真是頭都大了。 
網上查閱了一下原因,原來是沒有開通遠程權限,好吧,下面我就來回憶一下自己怎么處理這問題的!

大家都知道,用Navicat連接數據庫一般是這樣連得:

問題整理以及解決辦法

錯誤一:

錯誤原因:

本地IP(xxx.xxx.xxx.xxx)沒有訪問遠程數據庫的權限。於是下面開啟本地IP(xxx.xxx.xxx.xxx)對遠程mysql數據庫的訪問權限。

解決辦法:

1.首先遠程連接進入服務器,在cmd中輸入mysql -u root -p,然后回車,輸入密碼后回車進入mysql命令行。 

2.輸入use mysql;

3.輸入select user,password,host from user; 
可以看到host中只有localhost主機。我們需要將xxx.xxx.xxx.xxx也添加到這里才對。

4.添加方法如下:

輸入 
grant all privileges on *.* to root@”xxx.xxx.xxx.xxx” identified by “密碼”;(xxx.xxx.xxx.xxx用%也行,表示所有IP)

或者 ​GRANT ALL PRIVILEGES ON *.* TO ‘root’@’xxx.xxx.xxx.xxx’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

這相當於是給IP-xxx.xxx.xxx.xxx賦予了所有的權限,包括遠程訪問權限。

然后再輸入 
flush privileges; 
這相當於是重新加載一下mysql權限,這一步必須有。

5.再次輸入select user,password,host from user; 
可以看到host中已經有了新加的IP。

6.現在再次用Navicat for MySQl訪問遠程mysql數據庫,已經能正常打開了。 
問題解決。

7.如果還是連接不到,那是不是 MySQL Server 綁定了本地地址,打開 /etc/mysql/my.cnf,

找到:bind-address = 127.0.0.1

去除 IP 地址綁定,把它改為:bind-address = 0.0.0.0

然后重啟 MySQL Server:/etc/init.d/mysql restart

錯誤二:

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘hostxxxxx’ (10061)

錯誤原因:

mysqld數據庫服務沒有啟動。

解決辦法:

檢查 :在windows 的任務管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。確認服務已經啟動。

處理 :啟動mysqld 服務

錯誤三:

防火牆開啟了

解決方法:

防火牆需要允許3306端口連接。

轉載自:https://blog.csdn.net/m516387177/article/details/84103830


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM