我有一个网络,里面有四台电脑,每台电脑都运行 Windows 7。它们都连接到一个中央交换机。
我的问题是,虽然互联网连接正常,但内部网络连接经常丢失。这通常发生在使用运行 MySQL 数据库的管理软件时。此程序安装在服务器中。
该软件的支持部门告诉我,他们的软件运行正常,问题是由我的网络引起的,但我无法找出问题所在,网络似乎运行正常。
有任何想法吗?
答案1
MySQL 视角
听起来你可能是 MySQL 的无声杀手 MySQL 数据包的受害者。
MySQL 有自己的内部层,用于打包和传输不常讨论的数据。3 年前,我写了一篇 SuperUser 帖子,描述了 MySQL Packet 是什么以及如何使用。我也在 DBA StackExchange 的帖子中使用过它
Apr 21, 2011
:MySQL“max_allowed_packet”设置实际上控制什么?Sep 01, 2011
:MySQL 服务器已停止运行,阻碍了导入大量转储Sep 25, 2011
:修复错误日志中记录的 MySQL 错误Jun 12, 2012
:MySQL 读取通信数据包时出错
建议
找到 MySQL 的错误日志并查看是否列出任何数据包错误。
如果未启用错误日志,请在中启用它my.ini
。就 MySQL 数据包本身而言,您可能需要my.ini
按如下方式增加它:
[mysqld]
max_allowed_packet = 1G
不用担心设置最大允许数据包数到 1G。当数据包首次初始化时,其大小由网络缓冲区长度。 这最大允许数据包数是数据包大小的上限。
如果要动态增加数据包大小,请在 mysql 命令行中运行以下命令:
mysql> SET GLOBAL max_allowed_packet = 1024 * 1024 * 1024;
结语
我的帖子只是想让你在这方面调整 MySQL。如果网络由于电缆故障或任何形式的通信噪音而经常丢包,那么这可能不是解决方案。由于网络不在我的能力范围内,我将把这个问题留给论坛中更有能力的成员来解决这个问题。