重启MySQL服务后,第一次连接测试,连接成功。
接着连接测试,就这样了。
已近重新安装过了,版本也从5.6 换到 5.7 都不能解决问题。
这个时候用MySQL命令行是可以连上的。
这是什么问题?
解决方案:6分
google 到的,不知道对你有没有用了.
找到并修改my.cnf文件。
看看能否有绑定本地回环地址的配置,假如有,注释掉下面这段文字:(在文字之前加上#号即可)
代码如下:
bind-address = 127.0.0.1
然后找到[mysqld]部分的参数,在配置后面建立一个新行,添加下面这个参数:
skip-name-resolve
保存文件并重启MySQL
找到并修改my.cnf文件。
看看能否有绑定本地回环地址的配置,假如有,注释掉下面这段文字:(在文字之前加上#号即可)
代码如下:
bind-address = 127.0.0.1
然后找到[mysqld]部分的参数,在配置后面建立一个新行,添加下面这个参数:
skip-name-resolve
保存文件并重启MySQL
解决方案:6分
不能解析到这台机器上,用主机名试一下。
解决方案:7分
解决方案:7分
检查防火墙,或先关闭防火墙及杀毒软件试一下。
解决方案:7分
my.ini也是一样的,你试下他给的建议
解决方案:7分
LZ你好,本人以前做OTA DBA的时候遇到过相似的问题,但是数据库太复杂,同样的问题原因有很多种,本人只能给出本人当时的一些解决方案:
当WEB服务器负载高的时候,经常会出现这种错误,
原因:
MySQL默认connect_timeout是5秒,超过了这个时间MySQL的server端就会返回“Bad handshake”。
解决办法:
1.大多数时候设置”set global connect_timeout=60″是可以解决问题的;
我们可以通过执行“SHOW STATUS LIKE “”aborted%”””,可以观察到
Variable_name Value
Aborted_clients 6
Aborted_connects 15010
觉得能否要增加connect_timeout的时间,”Aborted_connects”将会随着服务端放弃客户端初始连接而增加。假如”Aborted_connects”很大,并且不断增加,就需要增加”connect_timeout”.
2.在MySQL的配置文件中[mysqld]添加”skip-name-resolve”,减少域名解析的时间
3.部署服务器端的网络要好,至少大于100Mbps/s
4.假如是在调用mysql_query的时候出现的问题,那就需要把”net_read_timeout”的时间调成30秒,或60秒,或更大的值
5.假如还不能解决问题,那估计是你的SQL语句中含有BLOB这种大类型,我们就需要增加”max_allowed_packet”的值了
当WEB服务器负载高的时候,经常会出现这种错误,
原因:
MySQL默认connect_timeout是5秒,超过了这个时间MySQL的server端就会返回“Bad handshake”。
解决办法:
1.大多数时候设置”set global connect_timeout=60″是可以解决问题的;
我们可以通过执行“SHOW STATUS LIKE “”aborted%”””,可以观察到
Variable_name Value
Aborted_clients 6
Aborted_connects 15010
觉得能否要增加connect_timeout的时间,”Aborted_connects”将会随着服务端放弃客户端初始连接而增加。假如”Aborted_connects”很大,并且不断增加,就需要增加”connect_timeout”.
2.在MySQL的配置文件中[mysqld]添加”skip-name-resolve”,减少域名解析的时间
3.部署服务器端的网络要好,至少大于100Mbps/s
4.假如是在调用mysql_query的时候出现的问题,那就需要把”net_read_timeout”的时间调成30秒,或60秒,或更大的值
5.假如还不能解决问题,那估计是你的SQL语句中含有BLOB这种大类型,我们就需要增加”max_allowed_packet”的值了