AWS RDS не назначает привилегию SUPER главной учетной записи

AWS RDS не назначает привилегию SUPER главной учетной записи

Я получаю сообщение об ошибке «Слишком много подключений» в своем веб-приложении:http://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html

Поэтому я хочу подключиться к базе данных, чтобы show full processes/gиметь возможность отлаживать код. Я использую следующую команду CLI:

mysql -h domain.eu-west-1.rds.amazonaws.com -P 3306 -u username -p

Имя пользователя, которое я использую, — это имя пользователя master, созданное при запуске экземпляра. Насколько я понимаю, mysql всегда оставляет одно соединение свободным, чтобы позволить аккаунтам с привилегиями SUPER подключаться, однако когда я это делаю, я получаю ответ «слишком много ошибок».

Глядя на конфигурацию, имя пользователя master, похоже, имеет только супер привилегии на базу данных, а не на домен, это правильно? Как еще я могу войти в mysql для отладки сервера?

решение1

Это верно, RDS не позволяет никакой учетной записи иметь привилегию SUPER. Это досадное ограничение в RDS.

Однако вашу проблему, похоже, можно «исправить» (или, по крайней мере, решить), увеличив max_connect_errorsгруппу параметров RDS для вашего экземпляра, что сделает RDS более терпимым к ошибкам подключения с вашего IP-адреса.

Ваш вопрос заставляет меня задуматься, не слишком ли много у вас связей... или слишком много ошибок.

Если возникли ошибки, попробуйте зайти с другого IP-адреса, счетчики можно сбросить с помощью FLUSH HOSTS;.

Установка log_warnings= 2 в группе параметров увеличит объем журналирования ошибок подключения (журнал ошибок доступен через консоль) и этомощьпомочь вам точно определить, что именно изначально приводит к увеличению количества ошибок на вашем хосте.

Изменения группы параметров будут применены к серверу «на горячем» уровне, где это возможно, но экран сведений об экземпляре рядом с группой параметров даст вам подсказку о том, находится ли применение изменений в состоянии ожидания, требует перезагрузки или завершено (синхронизировано).

Если проблема заключается только в «слишком большом количестве подключений», то единственным решением (если вы не можете заставить приложение разорвать некоторые соединения) является перезагрузка экземпляра, захват слота подключения и сохранение подключения, чтобы у вас был доступ, когда проблема возникнет снова.

Связанный контент