首頁 > 軟體

MySQL資料庫可以用任意ip連線存取的方法

2022-05-20 13:13:02

通過CMD命令列修改資料庫表的一個欄位的值,實現連線,存取。

第一步、找到MYSQL軟體安裝所在的bin目錄;

(1)cd當前目錄

(2)指定MYSQL安裝的bin目錄

(3)輸入 -h localhost -u root -p;出現輸入密碼,此時輸入你在安裝MYSQL軟體設定的密碼即可。

(4)輸入 use mysql; select user,host from user;我們的目的是要把localhost用%代替即可。

(5)使用update user set host='%' where host='localhost';語句更新即可。

(6)修改成這個樣子就ok了。

輸入如上語句查詢結果如下:

此時,MYSQL就可以用任何IP地址來存取了。

前面連上了就不用看下面;

番外一:連線不上雲伺服器的資料庫,就在mysql資料庫下 執行flush privileges;執行後就可以正確連線了!

下面是設定指定的ip存取;

番外二:設定指定ip存取mysql資料庫

執行到mysqlbin目錄下 執行下面的命令

mysql -u root -p

之後輸入密碼進行登陸,完畢後新增遠端ip存取許可權

GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.251.226.172' IDENTIFIED BY 'czp' WITH GRANT OPTION;
flush privileges;

第二行是使設定立刻生效。

第一行中,10.251.226.172是阿里雲內網的一個地址,這個是允許遠端存取的IP的值。自行改為其他值。root是賬戶名,後面的czp是密碼。即,允許來自10.251.226.172的連線並使用root賬戶和czp這個密碼進行存取。ALL PRIVILEGES ON 後面的*.*表示所有資料庫,即完全存取許可權,可以指定為特定資料庫。而IP這裡,可以使用%來表示所有IP。

這裡還會出現一種問題,當我們授予ip給遠端存取時,常常通過第三方軟體,比如NavicatPermium 12。如果安裝的版本為mysql8.0以上版本,則會報以下錯誤:

出現2059這個錯誤的原因是在mysql8之前的版本中加密規則為mysql_native_password,而在mysql8以後的加密規則為caching_sha2_password。通過網路查詢發現我們可以將mysql使用者登入的加密規則修改為mysql_native_password。

解決方法:

(1)登入mysql。開啟cmd,用命令列登陸mysql,使用mysql -u root -p命令;

2.輸入登陸密碼;

3.輸入命令:第一條:ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

第二條:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

注意此處的password為你的登陸密碼,本人的操作為:

第一條:ALTER USER 'root' IDENTIFIED BY '**********' PASSWORD EXPIRE NEVER;

第二條:ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY **********';

參考如下:

然後開啟navicat,發現連線成功.

到此這篇關於MySQL資料庫可以用任意ip連線存取的方法的文章就介紹到這了,更多相關MySQL 任意ip連線存取內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com