解決navicat沒法連接到mysql問題

最近遇到了一件很是棘手的問題,用Navicat遠程鏈接數據庫竟然鏈接不到,真是頭都大了。
網上查閱了一下緣由,原來是沒有開通遠程權限,好吧,下面我就來回憶一下本身怎麼處理這問題的!mysql

你們都知道,用Navicat鏈接數據庫通常是這樣連得:linux

這裏寫圖片描述

問題整理以及解決辦法sql

錯誤一:數據庫

這裏寫圖片描述

錯誤緣由:windows

本地IP(xxx.xxx.xxx.xxx)沒有訪問遠程數據庫的權限。因而下面開啓本地IP(xxx.xxx.xxx.xxx)對遠程mysql數據庫的訪問權限。服務器

解決辦法:ide

1.首先遠程鏈接進入服務器,在cmd中輸入mysql -u root -p,而後回車,輸入密碼後回車進入mysql命令行。
這裏寫圖片描述.net

2.輸入use mysql;命令行

這裏寫圖片描述

3.輸入select user,password,host from user;
能夠看到host中只有localhost主機。咱們須要將xxx.xxx.xxx.xxx也添加到這裏纔對。unix

這裏寫圖片描述

4.添加方法以下:

輸入
grant all privileges on *.* to root@」xxx.xxx.xxx.xxx」 identified by 「密碼」;

或者 ​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端口鏈接。

 

from:http://blog.csdn.net/mtbaby/article/details/56836986

相關文章
相關標籤/搜索