По-прежнему пытается выяснить RDS на AWS. Я настраиваю экземпляр EC2, в который я могу включить SSH. Затем я создал экземпляр RDS MariaDB. Я могу использовать SSH в своем EC2, а затем использовать MySQL для подключения к экземпляру RDS с использованием имени пользователя/пароля, которое я создал при настройке экземпляра RDS. Когда я смотрю на пользователей я вижуПроблема создания пользователей на mysql/mariadb на amazon RDS
'myusername'@'%'
'rdsadmin'@'localhost'
В то время как вошли в систему как «» MyUserName к БД MySQL, я создаю нового пользователя с более ограниченными хостами:
CREATE USER 'otheruser'@'nnn.nnn.nnn.nnn' IDENTIFIED BY 'good_password'
Нет проблем до сих пор. Теперь дайте «otheruser» некоторые разрешения:
GRANT ALL PRIVILEGES ON mydatabase.* TO 'otheruser'@'nnn.nnn.nnn.nnn' IDENTIFIED BY 'same_password';
Кажется, что нужно работать. С моего IP-адреса я могу использовать Navicat для подключения как «otheruser» к «mydatabase» и может создавать таблицы, добавлять данные, удалять таблицы, создавать индексы без проблем. Однако, когда я делаю это, все привилегии показать «N»:
SELECT * FROM mysql.user WHERE user = 'otheruser'\G
Если я смотрю в information_schema единственная привилегия «использование»
SELECT * FROM information_schema.user_privileges;
Если, как мой корневой пользователь, созданный во время установки RDS Я пытаюсь указать конкретную привилегию для «otheruser». Я получаю ошибку отказа в доступе.
Итак, если все разрешения показывают «N», а information_scheme просто показывает «использование», как Navicat может подключиться как этот пользователь и сделать почти все?
Каков правильный способ создания ограниченного пользователя на экземпляре RDS? Кажется, пользователь, созданный при создании экземпляра, немного ограничен vs. «rdsadmin» @ «localhost», но AFAIK теперь есть способ подключиться к RDS с локального хоста?
Благодарим за объяснение! – Steve