關(guān)于在Windows系統(tǒng)下使用遠(yuǎn)程鏈接去連接虛擬機或者遠(yuǎn)程的數(shù)據(jù)庫的連接失敗問題潮秘。
一下操作都需要在虛擬機或者遠(yuǎn)程服務(wù)器可以聯(lián)網(wǎng)的情況下删壮。
首先可以使用
#netstat -ntpl
//--line-number 使用該蠶食可以查看到規(guī)則的行號
在虛擬機或者遠(yuǎn)程服務(wù)器中查看網(wǎng)絡(luò)端口信息
image.png
如果3306的端口號沒打開,則可以使用以下命令將其打開:
#iptables -A INPUT -ptcp --dport 端口號 -j ACCEPT //打開端口(添加規(guī)則)
#service iptables restart //重啟iptables
另附關(guān)閉端口:
#iptables -A INPUT -ptcp --dport 端口號 -j DROP //關(guān)閉端口
之后查看防火墻的狀態(tài):
#iptables -vnL
image.png
從此可以看到姑丑,3306端口的數(shù)據(jù)包都是丟棄狀態(tài)埠居,在此猬仁,可以清除防火墻中的規(guī)則
#iptables -F
或者關(guān)閉防火墻,另附防火墻打開和關(guān)閉方法:
#chkconfig iptables on //開啟轧房,重啟后生效
#chkconfig iptables off //關(guān)閉拌阴,重啟后生效
#service iptables start //開啟,立即生效
#service iptables stop //關(guān)閉奶镶,立即生效
之后使用Navicat遠(yuǎn)程連接了一下MySQL迟赃,但出現(xiàn)了一下錯誤:
image.png
這是因為MySQL沒有允許遠(yuǎn)程登錄,所以要在MySQL中授權(quán)遠(yuǎn)程登錄
首先登錄進(jìn)入到MySQL:
#mysql -h主機地址 -u用戶名-p用戶密碼
手動增加可以遠(yuǎn)程訪問數(shù)據(jù)庫的用戶厂镇。
方法一纤壁、本地登入mysql,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項捺信,將"localhost"改為"%"
#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二酌媒、直接授權(quán)(推薦)
從任何主機上使用root用戶,密碼:youpassword(你的root密碼)連接到mysql服務(wù)器:
#mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
操作完后需要刷新權(quán)限:
FLUSH PRIVILEGES;
這時候再使用Navicat進(jìn)行遠(yuǎn)程連接MySQL,連接測試如下圖
image.png
另外:主機名或IP地址那一欄寫的是被連接的服務(wù)器地址秒咨,如果是虛擬機則是虛擬機的地址