Подтвердить что ты не робот

Создание нового пользователя MySQL в среде Amazon RDS

Мне нужно создать нового пользователя MySQL с ограниченным разрешением на существующий экземпляр Amazon RDS. После того, как я встретил пару сообщений об ошибках, я был в состоянии сделать это, используя официальный инструмент администратора MySQL, и теперь пользователь появляется в списке. Однако я не могу назначить какие-либо привилегии схемы, так как все пользователи серые. Я вошел в систему как "главный пользователь", созданный при запуске экземпляра. Не уверен, куда идти отсюда. У меня есть инструменты командной строки RDS, но не удалось найти там ничего. Идеи

4b9b3361

Ответ 1

Лучше всего, вероятно, подключиться к базе данных с помощью клиента командной строки mysql и вызвать команды SQL для создания нового пользователя и назначить ему привилегии.

Например, вы можете запустить что-то вроде этого:

mysql -u [your_master_username] -p -h YOURRDSENDPOINT.rds.amazonaws.com

CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword';
GRANT SELECT ON [your_database].[some_table] TO 'jeffrey'@'%';

В окнах вы можете использовать клиент mysql.exe, где бы это ни было.

Полезные документы

Документация групп безопасности AWS RDS (общая область путаницы): http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithSecurityGroups.html

Документация по созданию пользователя: http://dev.mysql.com/doc/refman/5.5/en/create-user.html

Документация по предоставлению привилегий: http://dev.mysql.com/doc/refman/5.5/en/grant.html

Ответ 2

Я знаю, что эта тема - пару лет, и я продолжаю ее искать, поэтому я хочу получить обновление о AWS RDS и разрешениях пользователей.

Вы не можете использовать GRANT ALL для любого пользователя с RDS. Когда вы используете оператор GRANT ALL, вы также пытаетесь предоставить Global (так как AWS вызывает их Super Permissions) и таким образом, что система AWS RDS установлена, они не позволяют назначать пользователям Global Options.

Вы должны вывести разрешения на следующее:

GRANT SELECT,INSERT,UPDATE,DELETE,DROP on

Это позволит вашему пользователю иметь возможность подключаться к RDS, как только настройки безопасности будут настроены для доступа к вашим экземплярам EC2 или из Интернета.

Надеемся, что эта информация поможет любому другому, кто сталкивается с теми же проблемами, что и я, с системами AWS RDS.

Уолдо

Ответ 3

Я создал так:

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'localhost';

Но затем AWS отказался войти в систему для этого пользователя. И я попытался изменить привилегии администратора, но не успешно. И я изменяю "localhost" на "%" через MySQL верстак. (или вы можете удалить пользователя и воссоздать) как:

CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'%';

Только тогда я смог войти через этого нового пользователя.

Кроме того: Как только вы сделали это изменение, ваша база данных может подключаться с любого ip. Если вам нужно повысить безопасность и ограничить доступ к ip (например, если это промежуточная база данных), вы можете установить bind-адрес в файле my.cnf на вашем сервере.

bind-address = your.ip.add.ress

введите описание ссылки здесь

Ответ 4

У меня был наибольший успех с использованием MySQL Workbench и выполнения необработанного SQL для RDS:

CREATE USER 'foo'@'localhost' IDENTIFIED BY 'password';

Большей проблемой были разрешения. Сначала я попробовал:

Grant ALL on *.* to 'foo'@'localhost'

..., что приводит к ошибке Access Denied.

Error Code: 1045. Access denied for user 'foo'@'%' (using password: YES)

Сложное разрешение "супер", которое RDS мне не дает, и в свою очередь я не могу предоставить. В результате я застрял в выполнении разрешений вручную:

Grant SELECT on *.* to 'foo'@'localhost';
Grant INSERT on *.* to 'foo'@'localhost';
Grant CREATE on *.* to 'foo'@'localhost';

Ответ 5

Я использовал workbench mySQL, и он отлично работает. просто перейдите к управлению /Users and Privileges, нажмите кнопку "Добавить учетную запись" внизу слева и настройте. Вы не можете давать привилегии SUPER, но большинство остальных