【MySQL】Windows下用Navicat遠程鏈接虛擬機Linux下MySQL數(shù)據(jù)庫

關(guān)于在Windows系統(tǒng)下使用遠程鏈接去連接虛擬機或者遠程的數(shù)據(jù)庫的連接失敗問題。
一下操作都需要在虛擬機或者遠程服務(wù)器可以聯(lián)網(wǎng)的情況下。
首先可以使用

#netstat -ntpl
//--line-number 使用該蠶食可以查看到規(guī)則的行號

在虛擬機或者遠程服務(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遠程連接了一下MySQL,但出現(xiàn)了一下錯誤:

image.png

這是因為MySQL沒有允許遠程登錄,所以要在MySQL中授權(quán)遠程登錄
首先登錄進入到MySQL:

#mysql -h主機地址 -u用戶名-p用戶密碼

手動增加可以遠程訪問數(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進行遠程連接MySQL,連接測試如下圖

image.png

另外:主機名或IP地址那一欄寫的是被連接的服務(wù)器地址,如果是虛擬機則是虛擬機的地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容