Linux下MySQL無法訪問問題排查的基本步驟

?

問題說明


本文說明云服務器 ECS LinuxLinux 無法訪問問題的一般排查步驟。

處理辦法


  1. 查看 Linux 操作系統是否已經Linux了 MySQL

    $?rpm?-qa?mysql  mysql-4.1.7-4.RHEL4.1    #?說明已經安裝了?MySQL
  2. 檢查Linux
    檢測 MySQL?運行狀態:

    service?mysqld?status
  3. 啟動服務:
    可以用三種方法來啟動 MySQL:

    1. 方法一:使用?service?命令啟動?MySQL:

      service?mysqld?start
    2. 方法二:使用 mysqld 腳本來啟動 MySQL:

      /etc/init.d/mysql?start
    3. 方法三:使用?safe_mysqld?實用程序啟動?MySQL?服務,此方法可以使用相關參數:

      safe_mysqld&?//使用&表示將safe_mysqld放在后臺執行。
  4. 登陸

  5. 修改密碼

    mysqladmin?-u?root?password  mysqladmin?-u?root?password?'kaishi'

    這里的“密碼”為我們欲新設的密碼。系統會提示我們輸入舊密碼(若是 MySQL 剛安裝,則默認密碼為空)

?

如果本機可以登陸了,但是其他機器的客戶端登陸報錯。比如:

ERROR?1130?(00000):?Host?'xxx.xxx.xxx.xxx'?is?not?allowed?to?connect?to?this?MySQ  L?server

則首先查看了 iptables 的設置,確認開放了 3306 端口:

iptables?-A?INPUT?-p?tcp?-m?tcp?--sport?3306?-j?ACCEPT  iptables?-A?OUTPUT?-p?tcp?-m?tcp?--dport?3306?-j?ACCEPT  service?iptables?save

?

如果還是無法訪問,則可能是 MySQL 的權限問題。則可以通過如下步驟排查:

  1. 在本機登錄

    mysql?-h?localhost?-u?root?-pkaishi  show?databases;  use?mysql;  select?Host,?User,?Password?from?user;  +-----------------------+------+-------------------------------------------+  |?Host?|?User?|?Password?|  +-----------------------+------+-------------------------------------------+  |?localhost?|?root?|?*18F54215F48E644FC4E0F05EC2D39F88D7244B1A?|  |?localhost.localdomain?|?root?|?|  |?localhost.localdomain?|?|?|  |?localhost?|?|?|  +-----------------------+------+-------------------------------------------+

    可以看到如上結果,只有 localhost 才設置了訪問的權限。

  2. 進入?MySQL?,創建一個新用戶?user?:
    格式:grant 權限 on 數據庫名.表名 用戶@登錄主機 identLinuxied by “用戶密碼”。

    grant?select,update,insert,delete?on?easyview.*?to?sillycat@192.168.10.103?identified?by?"kaishi";
  3. 查看結果,執行:

    use?mysql;  select?host,user,password?from?user;

    可以看到在user表中已有剛才創建的user用戶。host字段表示登錄的主機,其值可以用IP,也可用主機名,將host字段的值改為%就表示在任何客戶端機器上能以userLinux到mysql服務器,建議在開發時設為%。

  4. 修改了權限后需要執行如下語句生效:

    update?user?set?host?=?'%'?where?user?=?'sillycat';  flush?privileges;

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享