首頁 > 運維 > linux運維 > 主體

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

黄舟
發布: 2017-05-31 11:29:11
原創
1913 人瀏覽過

 

問題說明


本文說明在雲端伺服器ECS LinuxMySQL 無法存取問題的一般排查步驟。

處理辦法


  1. 查看Linux 作業系統是否已經安裝了MySQL

    $ rpm -qa mysql
    mysql-4.1.7-4.RHEL4.1
    
    # 说明已经安装了 MySQL
    登入後複製

  2. 檢查狀態
    偵測 MySQL 運作狀態:

    service mysqld status
    登入後複製


  3. 可以用三種方法來啟動MySQL:
    1. 方法一:使用 service 指令啟動 MySQL:
    2. service mysqld start
      登入後複製


    3. 方法二:使用mysqld 腳本來啟動MySQL:
    4. /etc/init.d/mysql start
      登入後複製

    5. 方法三:使用 safe_mysqld 公用程式啟動 MySQL 服務,此方法可以使用相關參數:
    6. safe_mysqld& //使用&表示将safe_mysqld放在后台执行。
      登入後複製



  1. 修改密碼

    mysqladmin -u root password
    mysqladmin -u root password 'kaishi'
    登入後複製

    這裡的「密碼」為我們欲新設的密碼。系統會提示我們輸入舊密碼(若是MySQL 剛安裝,預設密碼為空)


  2. 如果本機可以登陸了,但其他機器的用戶端登陸報錯誤。例如:

    ERROR 1130 (00000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQ
    L server
    登入後複製
  3. 則首先查看了 iptables 的設置,確認開放了 3306 端口:
  4. 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 的權限問題。則可以透過以下步驟排查:

  5. 在本機登入

    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 才設定了存取的權限。

  6. 進入 MySQL ,建立一個新用戶 user :
  7. 格式:grant 權限on 資料庫名稱.表名用戶@登入主機ident
  8. if

    ied by "使用者密碼"。

    grant select,update,insert,delete on easyview.* to sillycat@192.168.10.103 identified by "kaishi";
    登入後複製

###查看結果,執行:###
use mysql;
select host,user,password from user;
登入後複製
### ###可以看到在user表中已有剛剛建立的user使用者。 host欄位表示登入的主機,其值可以用IP,也可用主機名,將host欄位的值改為%就表示在任何客戶端機器上能以user###用戶登入###到mysql伺服器,建議在開發時設為%。 ###########################修改了權限後需要執行如下語句生效:###
update user set host = '%' where user = 'sillycat';
flush privileges;
登入後複製
#######

以上是Linux下MySQL無法存取問題排查的基本步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板