背景:
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 ...