MySQL 错误 1429,联合

MySQL 错误 1429,联合

我使用 MySQL federation 让一个 MySQL 数据库访问另一个数据库的数据表。一年多来,这种方法一直运行良好,但今天(突然)一个存储例程报告了这个 MySQL 错误:

Error Code: 1429. Unable to connect to foreign data source: Too many connections

如果我尝试使用访问联合表SELECT,我会得到

Error Code: 1030 Got error 1 from storage engine

转到托管数据的 MySQL 服务器,我实际上可以获得SELECT所需的数据,因此它似乎正在发挥作用。

访问数据的服务器版本为 5.0.51a24,主机服务器版本为 5.0.96-0。也就是说,是旧版本。

我该如何解决这个问题?MySQL 文档

答案1

检查远程/目标服务器上的活动连接数。

通过查看源代码(较新版本),我认为“连接过多”消息实际上是从远程端返回的,而不是源自本地服务器(FEDERATED使用引擎的地方)。

SHOW STATUS LIKE '%connect%'; 

Threads_connected是当前计数,Max_used_connections是自上次FLUSH STATUS发出以来看到的最高值。

如果最大值与返回的值相同(或大 1),SHOW VARIABLES LIKE 'max_connections';那么在某个时刻该服务器就达到最大值并且可以返回此消息。

如果远程服务器显示大量空闲的入站联合连接,您可能会发现FLUSH TABLES在本地服务器上发出操作将释放它们。

相关内容