Mysql
MySQL 遠端訪問不起作用 - 埠關閉?
我無法建立到 MySQL 的遠端連接。從我的電腦上,我可以遠端登錄到現有伺服器上的 3306,但是當我嘗試對新伺服器進行相同操作時,它會掛起幾分鐘然後返回
# mysql -utest3 -h [server ip] -p Enter password: ERROR 2003 (HY000): Can't connect to MySQL server on '[server ip]' (110)
這是伺服器的一些輸出。
# nmap -sT -O localhost -p 3306 ... PORT STATE SERVICE 3306/tcp closed mysql ... # netstat -anp | grep mysql tcp 0 0 [server ip]:3306 0.0.0.0:* LISTEN 6349/mysqld unix 2 [ ACC ] STREAM LISTENING 12286 6349/mysqld /DATA/mysql/mysql.sock # netstat -anp | grep 3306 tcp 0 0 [server ip]:3306 0.0.0.0:* LISTEN 6349/mysqld unix 3 [ ] STREAM CONNECTED 3306 1411/audispd # lsof -i TCP:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 6349 mysql 10u IPv4 12285 0t0 TCP [domain]:mysql (LISTEN)
我在跑步…
作業系統 CentOS release 5.8 (Final) mysql 5.5.28 (Remi)
注意:與 mysql 的內部連接工作正常。
我禁用了 IPtables,盒子沒有其他防火牆,它在埠 80 上執行 Apache,ssh 沒問題。
已遵循本教程 - http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
我在my.cnf中綁定了IP地址
user=mysql bind-address = [sever ip] port=3306
我什至通過刪除數據儲存中的 mysql 文件夾並執行重新開始
mysql_install_db --datadir=/DATA/mysql --force
然後按照手冊重新創建所有使用者…
http://dev.mysql.com/doc/refman/5.5/en/adding-users.html
我創建了一個測試使用者
CREATE USER 'test'@'%' IDENTIFIED BY '[password]'; GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
所以我只能看到埠並沒有真正打開。我還能去哪裡看?
謝謝
# nmap -sT -O localhost -p 3306 ... PORT STATE SERVICE 3306/tcp closed mysql ...
在上面的命令中,您正在關閉埠,因為您的 mysql 在特定 IP 上而不是在 localhost 上執行。因此,當您在伺服器上執行此命令時,它將顯示埠已關閉。所以這是有道理的。如果你想讓它工作,你需要用值 0.0.0.0 替換 bind-ip
那麼,您能否將 localhost 替換為 server-ip 並在此處發布輸出。
另外,我知道你已經禁用了防火牆,但如果你能用這幾個命令幫助我,那就太好了:
iptables -L -n
貓 /etc/hosts.deny
此外,您是否在 mysql 中進行了任何優化並更改了任何變數的任何值。如果是,那麼也請發布相同的內容。