Машина только для чтения AWS RDS - как добавить нового пользователя
У меня работает два сервера RDS mysql, один из которых является основным (главным) rds-сервером, а другой - ведомым только для чтения, который был создан через консоль RDS.
Как мне создать новую учетную запись пользователя для машины, доступной только для чтения, которая не будет иметь доступа к основному главному компьютеру? Например, когда я запускаю следующую команду:
CREATE USER 'foo'@'localhost' IDENTIFIED BY 'password';
Я получил:
The MySQL server is running with the --read-only option so it cannot execute this statement
Я бы хотел, чтобы у пользователя был доступ к следующему:
- ДА (только для чтения): site-read.cyrnzp...
- НЕТ (мастер): site-provisioned.cyrnzp...
Как это будет сделано тогда?
1 ответ
Изменить: не будет работать на AWS RDS как sql_log_bin
является привилегированным
Проще всего было бы создать его на мастере CREATE USER foo@localhost
, Это также будет копироваться на подчиненное устройство, создавая там пользователя.
Затем удалить доступ на мастере, SET SESSION sql_log_bin=0; DROP USER foo@localhost
, sql_log_bin=0
означает, что все операторы в одном сеансе не записываются в двоичный журнал. Вся остальная активность сервера в разных сеансах все еще реплицируется.
В результате этого подчиненный сервер не увидит DROP USER
утверждение, что означает foo
пользователь все еще там на ведомом устройстве, но не на главном сервере.