如果Mysql是按上篇的方法進(jìn)行安裝和設(shè)置的話蜈彼,那進(jìn)行遠(yuǎn)程連接就會稍微簡單一點(diǎn)。我就結(jié)合百度上的一些文章進(jìn)行剖析俺驶。
本地計算機(jī)ip:192.168.1.100
遠(yuǎn)程計算機(jī)ip:192.168.1.244
-
遠(yuǎn)程連接上Linux系統(tǒng)幸逆,確保Linux系統(tǒng)已經(jīng)安裝上了MySQL數(shù)據(jù)庫。登陸數(shù)據(jù)庫暮现。mysql -uroot -p(密碼)还绘。
-
創(chuàng)建用戶用來遠(yuǎn)程連接
GRANT ALL PRIVILEGES ON . TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
(第一個itoffice表示用戶名,%表示所有的電腦都可以連接栖袋,也可以設(shè)置某個ip地址運(yùn)行連接拍顷,第二個itoffice表示密碼)。
-
執(zhí)行 flush privileges;命令立即生效
-
查詢數(shù)據(jù)庫的用戶(看到如下內(nèi)容表示創(chuàng)建新用戶成功了)
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
-
使用exit命令退出MySQL
然后打開vim /etc/mysql/my.cnf
將bind-address = 127.0.0.1
設(shè)置成bind-address = 0.0.0.0(設(shè)備地址)
重新啟動(命令如下):
/etc/init.d/mysql stop
/etc/init.d/mysql start
-
查看端口號
show global variables like 'port';
-
設(shè)置navicat連接塘幅。
-
點(diǎn)擊連接測試看到如下內(nèi)容表示成功昔案。
注意問題:
1)我經(jīng)常在輸入mysql -u root -p時尿贫,顯示cannot connect to mysql server...這種錯誤,后來發(fā)現(xiàn)是沒有打開mysql踏揣。所以在以上操作之前記得看看Mysql有沒有打開:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 service mysql status --查看有沒有打開服務(wù) 2 service mysql start --打開服務(wù) 3 service mysql stop --停止服務(wù) 4 service mysql restart --重啟服務(wù) </pre>
2)在進(jìn)行上述連接后庆亡,我用navicat遠(yuǎn)程連接mysql,發(fā)現(xiàn)還是不可以捞稿,鼓搗了很久又谋,才發(fā)現(xiàn)是因為防火墻的問題,防火墻把3306端口屏蔽了娱局。所以要設(shè)置防火墻:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">設(shè)置防火墻允許3306端口
vi /etc/sysconfig/IPtables
添加-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
(注意添加在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之前彰亥,否則可能導(dǎo)致規(guī)則不生效)
重啟防火墻service iptables restart</pre>
解決Mysql無法遠(yuǎn)程連接的問題
1、Mysql的端口是否正確
通過netstat -ntlp查看端口占用情況铃辖,一般情況下端口是3306剩愧。在用工具連接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等娇斩。
2仁卷、檢查用戶權(quán)限是否正確
mysql庫的user表里有兩條記錄:host分別為localhost和%(為了安全,%可以換成你需要外部連接的IP)犬第。