linux无法访问mysql_Linux下MySQL无法访问问题排查的基本步骤
問題說明
本文說明云服務器 ECS Linux 上 MySQL 無法訪問問題的一般排查步驟。
處理辦法查看 Linux 操作系統是否已經安裝了 MySQL$ rpm -qa mysql
mysql-4.1.7-4.RHEL4.1
# 說明已經安裝了 MySQL
檢查狀態
檢測 MySQL 運行狀態:service mysqld status
啟動服務:
可以用三種方法來啟動 MySQL:方法一:使用 service 命令啟動 MySQL:service mysqld start
方法二:使用 mysqld 腳本來啟動 MySQL:/etc/init.d/mysql start
方法三:使用 safe_mysqld 實用程序啟動 MySQL 服務,此方法可以使用相關參數:safe_mysqld& //使用&表示將safe_mysqld放在后臺執行。
登陸
修改密碼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 的權限問題。則可以通過如下步驟排查:在本機登錄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 才設置了訪問的權限。
進入 MySQL ,創建一個新用戶 user :
格式:grant 權限 on 數據庫名.表名 用戶@登錄主機 identified 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_Linux下MySQL无法访问问题排查的基本步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql锁的一些理解简书_MySQL锁
- 下一篇: java8中-_java8中的Strea