mysql數據庫認證的時候和別的服務器不同,即便mysqld數據庫服務器沒有啓動,使用mysql這種客戶端
程序去鏈接,也要先輸入密碼,從而令人有一種錯覺,以會服務器已經正常啓動了.是否是密碼或是主機被數據
庫服務器自己沒有受權.mysql
碰到只能用localhost(127.0.0.1)做爲訪問地址的狀況,用ip地址訪問就會connectio refusedsql
[root@localhost ~]# ps -eaf | grep mysqld
root 27011 25197 0 14:11 pts/1 00:00:00 grep mysqld數據庫
mysqld服務器沒有啓動服務器
使用mysql去鏈接,報錯tcp
[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 code
查看本身綁定的端口port 和bind-address分別是多少,修改修改這兩個值。而後重啓mysqld服務(kill -9 mysqld進程號也能夠)server
111的解答爲
OS error code 111: Connection refused進程
通常這種問題有四個緣由:ip
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)