rytp баÑбоÑÐºÐ¸Ð½Ñ Ð±ÐµÐ· маÑа VIDEOMEGA RU
Оглавление:
- Прежде чем вы начнете
- Показать всех пользователей MySQL
- Показать пользователей, которые имеют доступ к определенной базе данных
- Вывод
Вам когда-нибудь нужно было получить список всех пользователей на вашем сервере MySQL? Есть команды для отображения баз данных и таблиц, но в MySQL нет команды
show users
.
В этом руководстве объясняется, как перечислить все учетные записи пользователей на сервере базы данных MySQL через командную строку. Мы также покажем вам, как узнать, какие пользователи имеют доступ к данной базе данных.
Прежде чем вы начнете
Мы предполагаем, что в вашей системе уже установлен сервер MySQL или MariaDB.
Все команды выполняются внутри оболочки MySQL от имени пользователя root. Чтобы получить доступ к оболочке MySQL, введите следующую команду и при появлении запроса введите пароль пользователя root MySQL:
mysql -u root -p
Если вы забыли свой корневой пароль MySQL, вы можете сбросить его, следуя этим инструкциям.
Показать всех пользователей MySQL
MySQL хранит информацию о пользователях в таблице с именем
user
в базе данных
mysql
.
Чтобы получить список всех учетных записей пользователей MySQL, используйте
SELECT
чтобы извлечь все строки из таблицы
mysql.users
:
SELECT User, Host FROM mysql.user;
Вывод должен выглядеть примерно так:
+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | luke | % | | yoda | % | | jabba | 10.10.0.6 | | jabba | 10.10.0.9 | | chewbacca | localhost | | leia | localhost | | han | localhost | +------------------+-----------+ 8 rows in set (0.00 sec)
Приведенная выше команда показывает только два столбца из таблицы
mysql.user
(
User
и
Host
). Эта таблица содержит более 40 столбцов, таких как
Password
,
Select_priv
,
Update_priv
и т. Д.
Используйте
desc mysql.user;
оператор для отображения информации о столбцах таблицы. Как только вы знаете имя столбца, вы можете выполнить запрос к выбранным данным.
Например, чтобы получить список всех учетных записей пользователей MySQL, включая информацию о пароле и о том, активен он или истек, вы должны использовать следующий запрос:
SELECT User, Host, Password, password_expired FROM mysql.user;
+----------------+-----------+-------------------------------------------+------------------+ | User | Host | Password | password_expired | +----------------+-----------+-------------------------------------------+------------------+ | root | localhost | | N | | luke | % | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N | | yoda | % | *9550E004046348198A143A115550E1262209FB6F | N | | jabba | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y | | jabba | 10.10.0.9 | | Y | | chewbacca | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N | | leia | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N | | han | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N | +----------------+-----------+-------------------------------------------+------------------+ 8 rows in set (0.00 sec)
Показать пользователей, которые имеют доступ к определенной базе данных
Информация о привилегиях уровня базы данных хранится в таблице
mysql.db
.
Вы можете запросить таблицу, чтобы узнать, какие пользователи имеют доступ к данной базе данных и уровень привилегий.
Например, чтобы получить список всех пользователей, которые имеют некоторый уровень доступа к базе данных с именем
db_name
вы должны использовать следующий запрос:
SELECT * FROM mysql.db WHERE Db = 'db_name'\G;
*************************** 1. row *************************** Host: localhost Db: db_name User: db_user Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y 1 row in set (0.00 sec)
Чтобы получить информацию только об учетных записях пользователей, которые имеют доступ к данной базе данных, без отображения привилегий, используйте:
SELECT db, host, user FROM mysql.db WHERE db = 'db_name'
+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+
Следующий запрос покажет вам информацию обо всех базах данных и связанных пользователях:
SELECT db, host, user FROM mysql.db WHERE db = 'db_name'
+------------------+-----------+-----------+ | db | host | user | +------------------+-----------+-----------+ | db_name | localhost | db_user | | ghost_production | localhost | chewbacca | | blog_db | localhost | leia | | linuxize | localhost | han | +------------------+-----------+-----------+
Вывод
В этом руководстве мы показали, как получить список всех пользователей MySQL и выяснить, какие пользователи имеют доступ к конкретной базе данных.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Мысль МариадбКак вывести список установленных пакетов на centos
В этом руководстве мы покажем вам, как составлять список и фильтровать установленные пакеты в CentOS. Знание того, как составить список установленных пакетов в вашей системе CentOS, может быть полезно в ситуациях, когда вам нужно установить те же пакеты на другом компьютере, или если вы хотите переустановить систему.
Как вывести список установленных пакетов в Debian
В этом руководстве мы объясним, как перечислять и фильтровать установленные пакеты в Debian. Мы также покажем вам, как проверить, установлен ли определенный пакет, посчитать установленные пакеты и узнать версию установленного пакета.
Как показать список всех баз данных в MySQL
При администрировании серверов баз данных MySQL одной из наиболее распространенных задач, которые вам необходимо выполнить, является знакомство со средой. В этом руководстве объясняется, как показать все базы данных на сервере MySQL или MariaDB через командную строку.