Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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