MySQL里的连接错误handshake_error

在公司的服务器上部署了MySQL,结果有的电脑能顺利连接,有的电脑就需要连接两三次,一查表,显示handshake_errors,想问一下这个问题怎么解决
连接数是默认的,可以连接多台。
主机设的是%。
防火墙之前设置了出入站规则,没有用,给删了。
有的电脑不是完全连接不上,而是需要连接两三次

img


img

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在MySQL中,handshake_errors通常表示在建立连接时出现了问题,这可能是由于以下原因之一导致的:

  1. 网络连接不稳定或网络延迟。在某些情况下,连接请求可能会超时或丢失,从而导致握手错误。
  2. 服务器和客户端之间的协议不匹配。这可能是由于服务器和客户端使用不同版本的MySQL协议或MySQL服务器配置错误导致的。

为了解决这个问题,你可以尝试以下方法:

  1. 确认所有客户端使用的MySQL协议与服务器一致。你可以尝试使用较新的客户端版本或升级服务器以使用更旧的MySQL协议版本。
  2. 确认网络连接是否稳定,网络延迟是否过高。你可以尝试在不同的网络环境下连接MySQL服务器,或者在同一台电脑上使用不同的网络连接方式连接MySQL服务器。
  3. 检查MySQL服务器配置,确保其允许来自所有客户端的连接,并且没有IP限制等限制。你可以查看MySQL服务器的配置文件(my.cnf)或者通过MySQL命令行工具检查相关配置。

如果以上方法都不能解决问题,你可以尝试重新启动MySQL服务器或者卸载并重新安装MySQL服务器。

参考GPT和自己的思路,这个问题可能是由于网络问题导致的连接错误,可以尝试以下几个方法来解决:

1 检查服务器和客户端之间的网络连接,确保连接正常,并且网络延迟较低。

2 检查防火墙设置,确保防火墙不会阻止客户端连接服务器。

3 检查MySQL的配置文件,尝试增加max_allowed_packet和wait_timeout参数的值,例如将max_allowed_packet增加到1G,将wait_timeout增加到3600。

4 尝试升级MySQL版本或者更换MySQL客户端驱动程序,可能存在一些MySQL客户端驱动程序的bug导致连接错误。

5 如果客户端是通过远程连接到服务器上的MySQL,则可以尝试使用SSH隧道连接,可以通过SSH隧道加密和压缩网络流量,从而减少网络延迟和连接错误。
6 ssl没有设置扩展域名属性.
原因可能就是这个ip服务器绑定了多个域名,链接的时候你不提供这个域名,服务器不知道发哪个证书给客户端,也就是有些电脑没问题,有些电脑出问题

最后,如果上述方法都不能解决问题,可以尝试重新启动MySQL服务或者重启服务器,可能存在一些内存或者网络问题导致连接错误。

你可以查看一下这个帖子,应该是最大连接数和连接超时的问题
版权声明:本文为CSDN博主「培鹏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Artisan_w/article/details/126359506

如果不行试着systemctl stop firewalld和setenforce 0