- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
本文說明云服務器 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 -pkaishishow 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;
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP