Я использую федерацию MySQL, чтобы позволить одной базе данных 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.
Проверьте количество активных подключений на удаленном / целевом сервере.
Глядя на исходный код (более новых версий), я думаю, что это хорошая ставка на то, что сообщение «Слишком много подключений» действительно возвращается с удаленного конца, а не на локальном сервере (где FEDERATED
двигатель уже используется).
SHOW STATUS LIKE '%connect%';
Threads_connected
текущий счетчик, Max_used_connections
это самое высокое значение с момента последнего FLUSH STATUS
было выпущено.
Если это максимальное значение такое же (или на 1 больше) значение, возвращаемое SHOW VARIABLES LIKE 'max_connections';
затем в какой-то момент этот сервер был исчерпан и мог вернуть это сообщение.
Если удаленный сервер показывает много незанятых входящих федеративных подключений, вы можете обнаружить, что FLUSH TABLES
на локальном сервере их выпустит.