navicat遠程鏈接虛擬機中的MySQL數據庫mysql
一、在linux查看mysql服務器IP地址linux
ifconfigsql
記住此IP數據庫
navicat設置服務器
設置完畢網絡
遇到問題tcp
一直連不上,在網上搜索了一下,主要緣由爲兩種工具
1 虛擬機防火牆或者 3306端口未啓用測試
2 mysql受權問題spa
問題1
鏈接時錯誤提示
使用圖形界面管理工具Navicat for MySQL鏈接Mysql數據庫時提示錯誤:Can't connect to MySQL server (10060)
問題緣由:
致使些問題可能有如下幾個緣由:
一、網絡不通;
二、服務未啓動;
三、防火牆端口未開放;
解決方法:
啓動服務:
首先,我用navicat去遠程連接我虛擬機中的MySQL,連接測試失敗。
而後在虛擬機中查看網絡端口信息:
#netstat -ntpl
iptables -vnL
查看防火牆的狀態,查看3306端口,
若是3306以下,是drop狀態,或者根本無3306端口,說明3306端口設置問題
解決辦法:
啓動服務:
service mysqld start;
開放防火牆端口
添加須要監聽的端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
開啓3306端口監聽,開啓後以下圖
擴展知識
防火牆其餘相關操做
臨時關閉防火牆服務
service iptables stop
開啓防火牆服務
service iptables start
開機再也不啓動防火牆服務
chkconfig iptables off
問題2
遠程連接了一下MySQL,出現瞭如下錯誤,查了一下,是由於MySQL沒有容許遠程登錄,因此要受權MySQL遠程登錄。
從任何主機上使用root用戶,密碼:yourpassword(你的root密碼)鏈接到mysql服務器:
# mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
操做完後切記執行如下命令刷新權限
FLUSH PRIVILEGES
這時再經過navicat遠程連接MySQL,連接測試,以下圖,成功。