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;
flush privileges;
## 可以看到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
# re## 然後重啟MySQL Server:/etc/init.d/mysql re## 然後重啟MySQL Server:/etc/init. #錯誤二:ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
錯誤原因:
mysqld資料庫服務沒有啟動。
解決方法:檢查 :在windows 的任務管理器,或 unix/linux 下 ps -aux | grep mysql 看一下。確認服務已經啟動。 處理:啟動mysqld 服務
錯誤三:防火牆開啟了
#解決方法:防火牆需要允許3306連接埠連線。【
注意:是在虛擬機器(LINUX)下執行上述步驟,IP位址xxx.xxx.xxx.xxx是寫windows的IP位址或%也行】
以上是navicat無法連接資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!