?
問題說明
本文說明云服務器 ECS Linux 上 Linux 無法訪問問題的一般排查步驟。
處理辦法
-
查看 Linux 操作系統是否已經Linux了 MySQL
$?rpm?-qa?mysql mysql-4.1.7-4.RHEL4.1 #?說明已經安裝了?MySQL
-
檢查Linux
檢測 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 數據庫名.表名 用戶@登錄主機 identLinuxied 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字段的值改為%就表示在任何客戶端機器上能以userLinux到mysql服務器,建議在開發時設為%。
-
修改了權限后需要執行如下語句生效:
update?user?set?host?=?'%'?where?user?=?'sillycat'; flush?privileges;
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END