navicat遠程連接虛擬機中的MySQL數據庫
1、在linux查看mysql服務器IP地址
ifconfig
記住此IP
navicat設置
設置完畢
遇到問題
一直連不上,在網上搜索了一下,主要原因為兩種
1 虛擬機防火牆或者 3306端口未啟用
2 mysql授權問題
問題1
連接時錯誤提示
使用圖形界面管理工具Navicat for MySQL連接Mysql數據庫時提示錯誤:Can't connect to MySQL server (10060)
問題原因:
導致些問題可能有以下幾個原因:
1、網絡不通;
2、服務未啟動;
3、防火牆端口未開放;
解決方法:
啟動服務:
首先,我用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,鏈接測試,如下圖,成功。