mysql資料庫無法被其他ip訪問的解決方法

2021-09-13 01:26:56 字數 1581 閱讀 3545

前言

還是之前說的專案,環境目前已經準備好了,專案準備驗證階段發現了乙個問題,從上層應用輸入鑑權訪問應用,一直在等待狀態,輸入了正確的使用者名稱及密碼,卻無法訪問。看起來像是沒辦法訪問到資料庫連線的意思。

mysql部署後的埠一般都是3306,嘗試去ping和telnet 3306埠,發現ip可以ping通,但是3306埠無法被telnet,並且給出了乙個這樣的報錯:

1error 1130: host *.*.*.*isnotallowedtoconnecttomysql

看到這個錯誤後,上網一查,基本上有挺多解決方案,但是為什麼還要專門寫一下呢?

答案是:網上很多都是mysql 5.6的解決方法,在5.7裡,這個錯誤解決方法如下:

1.在第一次登陸mysql後,需要及時修改root的密碼,這裡5.6和5.7有乙個差異,那就是5.6的密碼欄位為:password,但是在5.7版本裡,這個欄位被取消了,取而代之的是:authentication_string欄位。

正確的修改方法為:

12updateusersetauthentication_string=password("***x")whereuser="root";flushprivileges;

2.修改好了之後,我們用use mysql命令切換到mysql庫里,注意,這個mysql庫在mysql裡是真是存在的,存放一些db相關資訊的庫。

命令:use mysql;

3.找到users表,執行如下命令:

1grantallprivilegeson*.*to'root'@'%'identifiedby'jlwg!2017'withgrantoption;

網上關於這塊的修改方法很多,應該一共有4種,我用的是其中一種。

這個命令的意思是,修改root使用者的訪問許可權,讓所有ip都可以訪問這個使用者,這樣一來的話,我們的應用就可以從外部ip訪問這個mysql了,不然只有localhost可以訪問,很不方便。

4.最後執行flush privileges;命令,重啟mysql服務,應用順利登陸成功。

解決資料庫被其他程式訪問,無法獲取獨佔訪問權問題

當需要備份,還原等等需要獲取資料庫獨佔訪問權時,如果有其他程式或者程序正在訪問資料庫會報無法獲取獨佔訪問權的錯誤,下面是我經常使用的一種解決這個錯誤的方法。方法一 使用use master alter database 資料庫名 set offline 即可,如果不行再使用 use master a...

無法連線 遠端IP上的mysql 資料庫

如果你想連線你的mysql的時候發生這個錯誤 以下是引用內容 error 1130 host 192.168.1.3 is not allowed to connect to this mysql server 解決方法 1。改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候...

無法鏈結MySQL資料庫

在2014 10 12 000000 create users table.php中條件完所需要的字段,執行php artisan migrate 沒有在資料庫表中看到users表生成,首先懷疑資料庫鏈結,經排查資料庫鏈結正確。檢索相關問題可能是php.ini配置有問題 因為安裝了larvel 5....