對MySQL開放遠端連線許可權的方法

2021-08-03 15:28:33 字數 2104 閱讀 2044

背景:

2023年9月22日,中途要求做乙個評價系統,由於之前被人做過一小部分,有現成的資料庫(資料庫:mysql 5.7 ,資料庫軟體:mysql workbench 6.3 ce),為了省去安裝資料庫匯出匯入表的麻煩,想要直接遠端連線對方資料庫。

方法如下:

其次通過網上查詢

有兩種方法:

1,改表法。

可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%" 

mysql -u root -pvmwaremysql>use mysql; 

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

mysql>select host, user from user;

2,授權法。 

在安裝mysql的機器上執行: 

1、d:\mysql\

bin\>mysql -h localhost -u root 

//這樣應該可以進入mysql伺服器 

2、mysql>grant all privileges on *.* 

to'root'@'%'

with

grant 

option

//賦予任何主機訪問資料的許可權 

3、mysql>flush privileges 

//修改生效 

4、mysql>

exit

//退出mysql伺服器 

這樣就可以在其它任何的主機上以root身份登入啦。

自己測試兩種方法都不行,感覺很奇怪,於是自己測試:

找到mysql的檔案位置,在cmd中輸入 cd mysql.exe的檔案位置(一般在mysql安裝目錄下bin檔案下)

輸入mysql -u root -p 輸入登入密碼登入mysql

在mysql裡直接輸入

grant all privileges on *.* to 'root'@'%'with grant option ,會出現如下圖

這裡是由於沒有以英文分號結尾導致的。

輸入帶分號的語句試試:

提示未找到行。

我決定先還是採用第一種方法,按照第一種方法的**,輸入:

mysql -u root -p                  //這是登入

mysql>use mysql;                 //

mysql>update user set host = '%' where user = 'root';  //

mysql>select host, user from user;                                  //

執行結果如下圖

連線遠端mysql,還是沒連線上,於是再試試第二種方式

輸入:d:\mysql\bin\>mysql -h localhost -u root

mysql>grant all privileges on *.* to 'root'@'%'with grant option;

mysql>flush privileges;

mysql>exit;

注意這裡一定要以英文分號結尾!!!

執行結果如下圖

這時沒有上面的error 1133錯誤了,經過測試,已經能連線到遠端伺服器了。

總的執行步驟如下:

開放mysql遠端連線

1。改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 mysql 資料庫裡的 user 表裡的 host 項,從 localhost 改稱 mysql u root p mysql use mysql mysql u...

Mysql開放遠端連線

localhost 進入msyql安裝目錄的bin目錄下,執行mysql u root p root進入mysql操作介面 select host,user,password from mysql.user 看到host欄位的值為localhost 只允許本機登陸訪問 將host欄位的值改為 就表示...

Mysql 開放遠端連線 步驟

問題 如果在遠端連線報錯 1130 host is not allowed to connect to this mysql server,可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 mysql 資料庫裡的 user ...