溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql如何允許遠(yuǎn)程訪問

發(fā)布時間:2020-08-10 14:30:33 來源:ITPUB博客 閱讀:162 作者:宵云科技 欄目:MySQL數(shù)據(jù)庫

默認(rèn)情況下,mysql帳號不允許從遠(yuǎn)程登陸,只能在localhost登錄。本文提供了二種方法設(shè)置mysql可以通過遠(yuǎn)程主機進(jìn)行連接。

修改用戶表的數(shù)據(jù)

登入mysql后,更改 mysql 數(shù)據(jù)庫里的 user 表里的 host 項,將localhost改稱%

mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

修改授權(quán)

例如: 你想myuser使用mypassword(密碼)從任何主機連接到mysql服務(wù)器的話。

mysql>GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; mysql>FLUSH PRIVILEGES

例如:如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務(wù)器,并使用mypassword作為密碼

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;mysql>FLUSH PRIVILEGES

檢查防火墻

如果還不能連接,就可能是防火墻的鍋了。

#通過systemctl status firewalld查看firewalld狀態(tài)#FirewallD is not runningsystemctl unmask firewalld             systemctl start firewalld#再次通過systemctl status firewalld查看firewalld狀態(tài),顯示running即已開啟了。#再次執(zhí)行執(zhí)行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示設(shè)置成功,這樣就可以繼續(xù)后面的設(shè)置了。firewall-cmd --reloadsystemctl stop firewalld.service   #關(guān)閉防火墻

修改mysql配置文件

如果檢查了防火墻還是不行,那就用最后一招,修改配置文件(博主用了最后一招才解決遠(yuǎn)程訪問的問題)

my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf

在配置文件中,增加2行代碼

[mysqld]bind-address = 0.0.0.0

重啟服務(wù),遠(yuǎn)程訪問,發(fā)現(xiàn)可以正常訪問了

p.s.

mysql8.0版本配置方法不同,按照上述方法配置之后,Navicat可以正常連接,但是nodejs代碼連接報錯

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

解決辦法(修改加密規(guī)則為普通模式,默認(rèn)是嚴(yán)格加密模式):

依次輸入以下語句

mysql>ALTER USER 'root'@'%' IDENTIFIED BY 'xxxxxxxx' PASSWORD EXPIRE NEVERmysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxx';mysql>FLUSH PRIVILEGES;

用nodejs測試數(shù)據(jù)庫連接,應(yīng)該就可以使用了

mysql5.5 允許遠(yuǎn)程訪問

1.啟動mysql 的cmd命令

mysql如何允許遠(yuǎn)程訪問

2.使用“use mysql”命令,選擇要使用的數(shù)據(jù)庫,修改遠(yuǎn)程連接的基本信息,保存在mysql數(shù)據(jù)庫中,因此使用mysql數(shù)據(jù)庫。

mysql如何允許遠(yuǎn)程訪問

3.使用“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;”命令可以更改遠(yuǎn)程連接的設(shè)置。

mysql如何允許遠(yuǎn)程訪問

4.使用“flush privileges;”命令刷新剛才修改的權(quán)限,使其生效。

mysql如何允許遠(yuǎn)程訪問

5.使用“select host,user from user;”查看修改是否成功。

mysql如何允許遠(yuǎn)程訪問

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI