mysql connection refused

wangq17發表於2016-11-22

 mysql資料庫認證的時候和別的伺服器不一樣,即使mysqld資料庫伺服器沒有啟動,使用mysql這種客戶端
程式去連線,也要先輸入密碼,從而使人有一種錯覺,以會伺服器已經正常啟動了.是不是密碼或是主機被資料
庫伺服器本身沒有授權.

碰到只能用localhost(127.0.0.1)作為訪問地址的情況,用ip地址訪問就會connectio refused


[root@localhost ~]# ps -eaf | grep mysqld
root     27011 25197  0 14:11 pts/1    00:00:00 grep mysqld

mysqld伺服器沒有啟動


使用mysql去連線,報錯

[root@localhost ~]# mysql -u root -p -h 172.28.10.145
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on '172.28.10.145' (111)

 

找到/etc/mysql/mysql.conf.d 下面的mysqld.cnf 

檢視自己繫結的埠port 和bind-address分別是多少,修改修改這兩個值。然後重啟mysqld服務(kill -9 mysqld程式號也可以)


111的解答為
OS error code 111:  Connection refused

一般這種問題有四個原因:

1,伺服器是否真的啟動

2,埠是多少.如我改成了3910

[root@localhost ~]# netstat -nltp | grep mysqld
tcp        0      0 :::3910                     :::*                        LISTEN      27300/mysqld

3,是否有防火牆阻止,可以通過telnet來測試.

4,在OS是否定義了變數MYSQL_TCP_PORT.   

真正的密碼或是沒有授權,錯誤應該是這樣的

[root@localhost ~]# mysql -u root -p -h 172.28.10.145 --port 3910
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'172.28.10.145' (using password: YES)

 

相關文章