Оглавление
- Как вывести имена всех пользователей MySQL/MariaDB
- Как вывести имена всех пользователей и их хостов в MySQL/MariaDB
- Как в MySQL/MariaDB проверить, для каких пользователей разрешён вход без пароля
- Как в MySQL/MariaDB проверить, у каких пользователей истёк срок действия пароля. Как вывести пользователей с истёкшим паролем
- Как в MySQL/MariaDB проверить, какой плагин используется для идентификации пользователя
- Как проверить, какие привилегии имеются у пользователя
- Как вывести все настройки пользователей MySQL/MariaDB
Как вывести имена всех пользователей MySQL/MariaDB
Если нужно получить имена всех пользователей СУБД, то подключитесь к серверу MySQL/MariaDB
mysql -u root -p
Затем выполните следующий SQL-запрос:
SELECT User FROM mysql.user;
Как вывести имена всех пользователей и их хостов в MySQL/MariaDB
Мы могли заметить, что для предыдущего запроса имена некоторых пользователей повторяются. Дело в том, что в MySQL и MariaDB пользователи определяются двумя именами: именем пользователя и именем хоста — для этих пар могут быть настроены различные привилегии, различные пароли и даже различные плагины идентификации.
Чтобы вывести имя пользователя вместе с именем хоста выполните следующий SQL-запрос:
SELECT User,Host FROM mysql.user;
Как в MySQL/MariaDB проверить, для каких пользователей разрешён вход без пароля
СУБД MySQL и MariaDB позволяют настроить пользователя таким образом, чтобы он мог подключаться к базам данным и делать SQL-запросы без ввода пароля. Следующая команда выведет всех пользователей, кто может подключаться без пароля к серверу MySQL/MariaDB.
SELECT User,Host FROM mysql.user WHERE Password = '' AND authentication_string = '';
Это тестовая среда, поэтому здесь пользователю root разрешено подключаться и выполнять команды без пароля — в реальной рабочей среди это, конечно же, недопустимо.
Обратите внимание, что в разных версиях и вариантах СУБД (MySQL или MariaDB) хеш пароля может хранится в поле Password или authentication_string. В MariaDB если оба этих поля пусты, значит пользователю разрешён вход без пароля; если оба эти поля имеют значения (в них хранится хеш пароля), значит пользователь должен ввести пароль для входа. В MySQL до версии 5.7.26 хеш пароля хранился в поле Password, а начиная с MySQL 5.7.26 хеш пароля хранится в authentication_string.
Смотрите также:
Как в MySQL/MariaDB проверить, у каких пользователей истёк срок действия пароля. Как вывести пользователей с истёкшим паролем
Чтобы вывести список всех пользователей с истёкшим паролем, используйте следующий запрос:
SELECT User,Host FROM mysql.user WHERE password_expired = 'Y';
Как в MySQL/MariaDB проверить, какой плагин используется для идентификации пользователя
Чтобы проверить, какой плагин идентификации пользователей применяется каждым из пользователей, выполните следующую команду:
SELECT User,Host,plugin FROM mysql.user;
Как проверить, какие привилегии имеются у пользователя
Таблица user в базе данных mysql имеет довольно много столбцов, в которых хранятся разнообразные настройки каждого пользователя. Среди этих настроек имеются права (привилегии) пользователя. Далее дан список всех столбцов mysql.user. Колонки с привилегиями пользователей имеют в имени суффикс «_priv». О значение многих столбцов можно догадаться по их названию. Также информацию о значении столбцов в mysql.user вы можете найти в документации по следующей ссылке: https://mariadb.com/kb/en/mysql-user-table/
Все столбцы таблицы mysql.user:
- Host
- User
- Password
- Select_priv
- Insert_priv
- Update_priv
- Delete_priv
- Create_priv
- Drop_priv
- Reload_priv
- Shutdown_priv
- Process_priv
- File_priv
- Grant_priv
- References_priv
- Index_priv
- Alter_priv
- Show_db_priv
- Super_priv
- Create_tmp_table_priv
- Lock_tables_priv
- Execute_priv
- Repl_slave_priv
- Repl_client_priv
- Create_view_priv
- Show_view_priv
- Create_routine_priv
- Alter_routine_priv
- Create_user_priv
- Event_priv
- Trigger_priv
- Create_tablespace_priv
- Delete_history_priv
- ssl_type
- ssl_cipher
- x509_issuer
- x509_subject
- max_questions
- max_updates
- max_connections
- max_user_connections
- plugin
- authentication_string
- password_expired
- is_role
- default_role
- max_statement_time
Как вывести все настройки пользователей MySQL/MariaDB
Чтобы вывести полный список пользователей и все их настройки, используйте следующий SQL-запрос. Обратите внимание, что будет выведена очень широкая таблица.
SELECT * FROM mysql.user;
Вы также можете получить информацию об определённом пользователе, для этого используйте команду следующего вида:
SELECT * FROM mysql.user WHERE user = 'root' AND host = 'localhost';
Связанные статьи:
- Ошибка «Failed - Network error» во время экспорта в phpMyAdmin (РЕШЕНО) (71.1%)
- Как переименовать таблицу в phpMyAdmin и MySQL (71.1%)
- Как в MySQL результаты запроса сохранить в новую таблицу (71.1%)
- Как в MySQL / MariaDB вывести список столбцов. Как в PHP проверить наличие столбца в таблице (71.1%)
- Как скопировать таблицу в phpMyAdmin (71.1%)
- Как установить веб-сервер (Apache, PHP, MySQL, phpMyAdmin) на Linux Mint, Ubuntu и Debian (RANDOM - 50%)