Как узнать всех пользователей, которые могут получить доступ к базе данных?
19
Подключитесь к экземпляру mysql от имени пользователя-администратора (как правило, от имени пользователя root) и введите следующую команду ...
select user from mysql.db where db='DB_NAME';
select user from mysql.db
без квалификации также возвращает 2 пустых строки.Ответ user79644 получает пользователей с привилегиями уровня базы данных, но будет пропускать пользователей с привилегиями только уровня таблицы, уровня столбца или уровня процедуры. Чтобы найти все из них, используйте следующие утверждения:
По крайней мере, в MySQL 5.5 кажется, что наличие привилегий на уровне столбцов означает, что у вас есть привилегии на уровне таблиц. Наличие привилегий на уровне таблицы не означает, что у вас есть привилегии на уровне базы данных. Не уверен насчет привилегий на уровне процедур.
источник
ERROR 1046 (3D000): No database selected
mysql
базу данных. Вот где хранятся все данные, используемые MySQL. Либо дайте командуUSE mysql;
добавления имени базы данных в имена таблиц, например,FROM mysql.db
илиFROM mysql.tables_priv
источник
Вы должны иметь в виду, что MySQL
GRANT
для баз данных может содержать символы подстановки . Это должно быть учтено с помощьюLIKE
в запросе:источник