<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      處理mysql數據庫無法被其他ip訪問的情況

      [摘要]這篇文章主要給大家介紹了關于mysql數據庫無法被其他ip訪問的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。前言還...
      這篇文章主要給大家介紹了關于mysql數據庫無法被其他ip訪問的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

      前言

      還是之前說的項目,環境目前已經準備好了,項目準備驗證階段發現了一個問題,從上層應用輸入鑒權訪問應用,一直在等待狀態,輸入了正確的用戶名及密碼,卻無法訪問?雌饋硐袷菦]辦法訪問到數據庫連接的意思。

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


      ERROR 1130: Host *.*.*.* is not allowed to connect to MySQL

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

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

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

      正確的修改方法為:


      update user set authentication_string=password("xxxx") where user = "root";
      flush privileges;

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

      命令:use mysql;

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


      grant all privileges on *.* to 'root'@'%' identified by 'JLwg!2017' with grant option;

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

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

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

      以上就是解決mysql數據庫無法被其他ip訪問的情況的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清