如果你使用MySQL時遇到無法連接服務器的情況,但是本地連接卻沒有問題,有以下幾個可能的原因:
1. 防火墻或網絡安全軟件阻止了連接服務器。
/******************************************************************/ # 使用CentOS防火墻的例子 # 禁止所有連接 iptables -P INPUT DROP # 允許本地連接 iptables -A INPUT -i lo -j ACCEPT # 允許已經建立的連接 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允許MySQL連接 iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
2. MySQL配置文件中只有本地可以連接。
/******************************************************************/ # Linux 中 MySQL 配置文件一般位于 /etc/my.cnf 或 /etc/mysql/my.cnf # 將 bind-address 修改為 0.0.0.0 可以允許所有遠程連接 bind-address=0.0.0.0
3. MySQL用戶只允許本地訪問。
/******************************************************************/ # 使用 root 用戶登錄 MySQL 終端 mysql -u root -p # 輸入密碼,如果密碼正確,進入終端 # 創建新用戶,允許遠程訪問 GRANT ALL ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; # 刷新權限,使更改生效 FLUSH PRIVILEGES;
4. MySQL的端口被占用。
/******************************************************************/ # 檢查是否有進程監聽 3306 端口 lsof|grep 3306 # 結束占用進程 kill -9 進程id
以上是一些可能的解決方法,可能需要結合具體情況進行排查。
上一篇html 點擊不跳轉代碼
下一篇css3語音的用法