Шаг 1: Доступ к командной строке MySQL

Чтобы выполнять различные запросы в MySQL, мы должны сначала войти в систему как пользователь root, чтобы получить доступ к ее командной строке. На компьютере Linux, Windows или MacOS, где установлен сервер баз данных MYSQL, откройте терминал и выполните заданную команду. Когда система запросит пароль пользователя root, введите его и нажмите клавишу Enter.

mysql -u root -p

Шаг 2: Показать всех пользователей

Сразу после входа в систему и получения доступа к командной строке базы данных MySQL от имени пользователя root вы можете выполнить приведенный SQL-запрос для отображения всех пользователей базы данных. Команда выведет список всех пользователей и даже связанные с ними имена хостов.

SELECT User, Host FROM mysql.user;
Команда Show All USERS in MYSQL Database server

Шаг 3: Получение подробной информации о пользователе

Используя команду предыдущего шага, мы можем получить лишь ограниченное количество сведений о существующих пользователях базы данных; однако если мы хотим получить дополнительные поля, такие как привилегии пользователя, выполните указанную команду или запрос:

SELECT User, Host, authentication_string, plugin, password_expired FROM mysql.user;
Список пользователей MYSQL с подробной информацией

Как фильтровать пользователей MySQL

До сих пор мы узнали, как вывести список пользователей, но что, если мы хотим отфильтровать пользователей по определенным критериям? Мы можем использовать данный запрос и модифицировать его в соответствии с нашими требованиями; например, если мы хотим найти пользователей только с localhost или любого другого определенного хоста:

SELECT User, Host FROM mysql.user WHERE Host="localhost";

Дополнительные советы по управлению пользователями

1. Создание нового пользователя

Чтобы создать нового пользователя в MySQL, используйте оператор CREATE USER. Вот пример:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
2. Предоставление привилегий

Чтобы предоставить пользователю привилегии, используйте оператор GRANT. Например, чтобы предоставить все привилегии для определенной базы данных:

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
3. Отмена привилегий

Чтобы отозвать привилегии у пользователя, используйте оператор REVOKE:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';
4. Удаление пользователя

Чтобы удалить пользователя из MySQL, используйте оператор DROP USER:

DROP USER 'newuser'@'localhost';
5. Просмотр привилегий пользователя

Чтобы просмотреть привилегии, назначенные пользователю, можно запросить таблицу mysql.user или использовать команду SHOW GRANTS:

SHOW GRANTS FOR 'username'@'host';