MySQL позволяет создавать несколько учетных записей пользователей и предоставлять соответствующие привилегии, чтобы пользователи могли подключаться и управлять базами данных.
Если учетная запись пользователя больше не нужна, рекомендуется удалить пользовательские привилегии или полностью удалить учетную запись пользователя.
В этой статье объясняется, как удалять учетные записи пользователей в MySQL/MariaDB.
Оператор DROP USER
В MySQL вы можете удалить одного или нескольких пользователей и назначенные привилегии с помощью оператора DROP USER. Общий синтаксис этого оператора выглядит следующим образом:
DROP USER [IF EXISTS] USER_ACCOUNT [, USER_ACCOUNT] ...
Например, чтобы удалить andreyex@localhostучетную запись пользователя, войдите в оболочку MYSQL и запустите:
DROP USER 'andreyex@localhost';
В случае успеха команда вернет:
Query OK, 0 rows affected (0.00 sec)
Чтобы удалить несколько учетных записей пользователей в одной команде, запустите оператор DROP USER, за которым следуют пользователи, которых вы хотите удалить, разделенные пробелом:
DROP USER 'andreyex@localhost' 'any@localhost';
Если вы попытаетесь удалить учетную запись пользователя, которая не существует, и предложение IF EXISTS не используется, команда вернет ошибку.
Если пользователь, которого вы пытаетесь удалить, в данный момент вошел в систему, сеанс пользователя не будет закрыт, и пользователь сможет выполнять запросы до завершения сеанса. Как только сессия закрыта, пользователь удаляется, и он больше не сможет войти на сервер MySQL.
Базы данных и объекты, созданные пользователем, не удаляются автоматически.
Удаление учетных записей пользователей MySQL
В этом разделе пошаговые инструкции о том, как вывести и удалить учетные записи пользователей MySQL.
Сначала войдите в оболочку MySQL от имени пользователя root или другого администратора. Для этого введите следующую команду:
sudo mysql
Если вы используете старый плагин аутентификации MySQL для входа в систему от имени пользователя root, введите команду ниже и введите пароль при появлении запроса:
mysql -u root -p
Команды ниже выполняются внутри оболочки MySQL.
MySQL хранит информацию о пользователях в таблице user в базе данных mysql. Используйте следующий оператор SELECT, чтобы получить список всех учетных записей пользователей MySQL :
SELECT User, Host FROM mysql.user;
Вывод должен выглядеть примерно так:
+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | mastermen | % | | andreyex | localhost | | andreyex | 10.10.8.8 | | Alex | localhost | +------------------+-----------+ 5 rows in set (0.00 sec)
Допустим, учетная запись пользователя alex@localhost больше не нужна, и мы хотим удалить ее.
Чтобы удалить пользователя, выполните:
DROP USER 'alex'@'localhost'
Query OK, 0 rows affected (0.00 sec)
Команда удалит учетную запись пользователя и ее привилегии.
Теперь, когда пользователь удален, вы также можете удалить базы данных, связанные с этим пользователем.
Заключение
Чтобы удалить учетную запись пользователя MySQL, используйте оператор DROP USER, за которым следует имя пользователя, которого вы хотите удалить.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.