FEDERATED
我在 MySQL 中的表有一个问题。我有一台服务器(MySQL 版本 5.0.51a),用于存储客户端数据,实际上仅此而已。逻辑数据库存储在另一台服务器(版本 5.1.56)中,有时它应该处理来自第一台服务器的数据。所以第二台服务器有一个FEDERATED
表,连接到第一台服务器。
实际上,它没有任何问题,但最近我在使用这个解决方案时遇到了奇怪的错误。第二台服务器上的某种查询无法正确执行。
例如SELECT * FROM table
- 不起作用。它正好挂了 3 分钟,然后给出:
错误代码:1159 读取通信包超时
好的,我检查了第一台服务器上的表,没关系。然后我尝试了一些其他查询FEDERATED
表,它们工作......
例如,query likeSELECT * FROM table WHERE id=x
返回结果。可能结果的大小可能有问题,所以我尝试使用 dummy WHERE
-clause like SELECT * FROM table WHERE id > 0
- 进行查询,它也可以工作......
最后我找到了一个“解决方案”,它只帮助了两天——在第一台服务器上我制作了一个表的副本,在第二台服务器上我重新声明了一个FEDERATED
带有新连接字符串的新表到这个副本。它有效,但两天后新复制的表出现同样的问题。
我已经与两家服务器提供商进行了交谈,他们认为没有任何问题,一切似乎都正常,而其他托管服务提供商是问题的根源。
我已经检查了 MySQL 中的所有变量,并且没有 3 分钟等超时参数。那么我该如何处理这样的问题呢?这似乎是网络或数据库端的自动操作,但我不知道如何检测问题的原因。
你有什么想法?