MySQL与Qt问题

问题描述 投票:1回答:1

Aborted_clients值导致主机IP由于许多连接错误被阻止?我想知道它,因为这样的错误会阻止我的Qt应用程序访问数据库服务器。

错误信息:

QSqlDatabasePrivate :: database:无法打开数据库:“Host'IP'由于许多连接错误而被阻止;使用'mysqladmin flush-hosts'解锁阻止QMYSQL:无法连接”

另外,Aborted_clients值可以增加max_connect_errors值吗?谢谢。

c++ mysql qt
1个回答
1
投票

他们是全球无关的。 max_connect_errorsServer System Variables之一,它是每个主机基础计数器,而Aborted_clientsServer status variables之一,它是所有客户/主机的全球信息计数器。

它们不相关的另一个原因是,当主机的max_connect_errors计数器因连接错误而处于递增周期但该主机建立成功连接时,主机的错误计数max_connect_errors被清除!

当主机无法建立且没有成功连接(阈值导致阻塞主机)时,max_connect_errors会针对特定主机递增。当与服务器的握手中断时,会发生这种情况。如果它没有被中断,则计为“成功”并重置主机计数器 - 无论最终结果是否成功连接。所以它可以被视为一个网络性能计数器,请注意它甚至不能代表安全问题。你可以通过telnet MyServer 3306测试这个,然后按CTRL C而不是继续..

这个计数器可以用mysqladmin flush-hosts;清除this post

另一方面,如果客户端成功连接,但后来断开连接不正确或终止,则服务器会递增Aborted_clients计数器。

这可能是由许多事情引起的 - 客户退出时没有调用mysql_close()。客户端连接超出了wait_timeout而没有与服务器交互。客户端连接如同关闭PC时一样切断。

服务器状态变量提供有关服务器操作的信息,它还包括Aborted_connects,它只是DBA的统计信息 - mysqld未使用它来确定服务器行为。

© www.soinside.com 2019 - 2024. All rights reserved.