Шаг 1: Доступ к командной строке MySQL
Чтобы выполнять различные запросы в MySQL, мы должны сначала войти в систему как пользователь root, чтобы получить доступ к ее командной строке. На компьютере Linux, Windows или MacOS, где установлен сервер баз данных MYSQL, откройте терминал и выполните заданную команду. Когда система запросит пароль пользователя root, введите его и нажмите клавишу Enter.
mysql -u root -p
Шаг 2: Показать всех пользователей
Сразу после входа в систему и получения доступа к командной строке базы данных MySQL от имени пользователя root вы можете выполнить приведенный SQL-запрос для отображения всех пользователей базы данных. Команда выведет список всех пользователей и даже связанные с ними имена хостов.
SELECT User, Host FROM mysql.user;
Шаг 3: Получение подробной информации о пользователе
Используя команду предыдущего шага, мы можем получить лишь ограниченное количество сведений о существующих пользователях базы данных; однако если мы хотим получить дополнительные поля, такие как привилегии пользователя, выполните указанную команду или запрос:
SELECT User, Host, authentication_string, plugin, password_expired FROM mysql.user;
Как фильтровать пользователей 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';