mysql connection refused

 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)

原文地址:https://www.cnblogs.com/wangq17/p/6088871.html