Что касается проблемы с «максимальными подключениями», это может быть одна из трех вещей:
1) На сервере уже слишком много открытых подключений.Сервер MySQL может обрабатывать только определенное количество открытых соединений, прежде чем отказывать в разрешении, и это ограничение является общим для всех пользователей сервера.Обычно он установлен достаточно высоким, хотя для кого-то легко сделать эффективную DoS-сервер MySQL, установив множество соединений (но см. Ниже)
2) Ваша учетная запись пользователя имеет ограниченное количество разрешенных соединений в час - любоедальнейшие соединения в течение этого часа будут отклонены.Это устанавливается для каждого пользователя.
3) В ваших учетных записях есть ограниченное количество разрешенных открытых подключений - любые дальнейшие подключения будут отклонены.Это устанавливается для каждого пользователя.
Всегда важно прочитать сообщение об ошибке, которое вы получите при попытке подключения, поскольку в большинстве случаев это точно определит точную причину сбоя.
Если ваша учетная запись имеет максимальное количество подключений (сценарий № 3), ошибка будет выглядеть следующим образом: Код:
ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_user_connections' resource (current value: 1)
Где «mysqldba» будет вашим именем пользователя, а «текущим значением» будетмаксимальное количество открытых подключений, разрешенных для этого пользователя.
Если у вашей учетной записи максимальное количество подключений в час (сценарий № 2), ошибка будет: Код:
ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_connections_per_hour' resource (current value: 1)
Где, опять же, «mysqldba» будет вашим именем пользователя, а «текущее значение» - это максимальное число соединений в час, разрешенное для этого пользователя.
Если вы получили сообщение об ошибке (код 1040), это означает, чтона всем сервере MySQL закончились слоты подключения - это сценарий DoS, о котором я упоминал выше.
Что вы можете с этим сделать?Судя по тому, что вы сказали, у вас нет привилегий суперпользователя на этом сервере, так что ничего, кроме жалобы SysAdmin, ответственного за этот сервер.Они могут увеличить максимально допустимое количество подключений, что может решить проблему в краткосрочной перспективе, но если кто-то еще, использующий сервер, создает глупое число подключений к базе данных, слоты просто снова заполнятся.Что они, вероятно, должны сделать, так это также установить максимальный лимит открытого соединения для каждого пользователя - это предотвратит засорение сервера активными пользователями.В ситуации с общими серверами, подобной вашей, это имеет смысл: «опытные пользователи» будут / должны иметь свой собственный сервер или могут / должны платить за увеличение своих максимально открытых соединений.