如果Mysql是按上篇的方法進行安裝和設置的話,那進行遠程連接就會稍微簡單一點。我就結合百度上的一些文章進行剖析。
本地計算機ip:192.168.1.100
遠程計算機ip:192.168.1.244
-
遠程連接上Linux系統,確保Linux系統已經安裝上了MySQL數據庫。登陸數據庫。mysql -uroot -p(密碼)。
-
GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
(第一個itoffice表示用戶名,%表示所有的電腦都可以連接,也可以設置某個ip地址運行連接,第二個itoffice表示密碼)。
-
-
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
-
使用exit命令退出MySQL
然后打開vim /etc/mysql/my.cnf
將bind-address = 127.0.0.1
設置成bind-address = 0.0.0.0(設備地址)
重新啟動(命令如下):
/etc/init.d/mysql stop
/etc/init.d/mysql start
-
show global variables like 'port';
-
-
注意問題:
1)我經常在輸入mysql -u root -p時,顯示cannot connect to mysql server...這種錯誤,后來發現是沒有打開mysql。所以在以上操作之前記得看看Mysql有沒有打開:
1 service mysql status --查看有沒有打開服務 2 service mysql start --打開服務 3 service mysql stop --停止服務 4 service mysql restart --重啟服務
2)在進行上述連接后,我用navicat遠程連接mysql,發現還是不可以,鼓搗了很久,才發現是因為防火牆的問題,防火牆把3306端口屏蔽了。所以要設置防火牆:
設置防火牆允許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之前,否則可能導致規則不生效) 重啟防火牆service iptables restart
解決Mysql無法遠程連接的問題
1、Mysql的端口是否正確
通過netstat -ntlp查看端口占用情況,一般情況下端口是3306。在用工具連接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。
2、檢查用戶權限是否正確
mysql庫的user表里有兩條記錄:host分別為localhost和%(為了安全,%可以換成你需要外部連接的IP)。
轉發請注明出處:http://www.cnblogs.com/fnlingnzb-learner/p/5830661.html