Создание пользователей на RDS MySQL Read Replicas

Возможно ли / целесообразно ли создавать пользователей, которые имеют доступ только к реплике чтения MySQL RDS, а не к основному серверу базы данных? У меня есть несколько опытных пользователей, которым я хотел бы предоставить доступ, чтобы они могли выполнять медленные запросы, но не хотят предоставлять им доступ к основной рабочей базе данных. Пытаясь сделать это прямо на сервере, я получаю ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statementтак что я должен сделать это в группе параметров db или где-то в этом роде. Во всяком случае, идеи?

2 ответа

Вы не должны создавать пользователя только в реплике чтения.

Для RDS крайне важно иметь идентичный набор данных как для основного экземпляра, так и для экземпляра реплики, поэтому невозможно иметь пользователя только в RR, а не на главном (или, по крайней мере, нецелесообразном).

Причина, помимо того, как работает реплика в RDS, заключается в том, что в случае сбоя реплика может стать ведущей, а роли будут изменены.

Вы можете добавлять или удалять пользователей в реплике для чтения. Это возможно обычным способом CREATE USER . Но это не рекомендуется, так как реплика чтения и мастер всегда должны быть синхронизированы, поэтому, если мастер выходит из строя, реплика чтения может быть повышена как мастер.

Вы можете настроить реплику чтения экземпляра БД Amazon RDS для чтения / записи, установив для параметра read_only значение false для группы параметров БД, которую вы создаете для своих экземпляров БД.

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

https://aws.amazon.com/premiumsupport/knowledge-center/rds-read-replica/

При этом соблюдайте осторожность, и после того, как вы создадите пользователей, немедленно верните их в read_only. Если вы когда-либо создадите пользователя на главном сервере с одной и той же парой имя пользователя / хост на главном сервере, репликация, скорее всего, остановится, поскольку это приведет к конфликту.

Другие вопросы по тегам