
MySQL позволяет создавать несколько учетных записей пользователей и предоставлять им соответствующие привилегии, чтобы пользователи могли подключаться к базам данных и управлять ими.
Если учетная запись пользователя больше не нужна, рекомендуется либо удалить ее привилегии, либо полностью удалить учетную запись.
В этом руководстве объясняется, как удалить учетные записи пользователей MySQL/MariaDB.
Оператор DROP USER
В MySQL вы можете удалить одного или нескольких пользователей и назначенные им привилегии с помощью оператора DROP USER . Общий синтаксис этого оператора следующий:
DROP USER [ IF EXISTS ] USER_ACCOUNT [, USER_ACCOUNT ] ...
Например, чтобы удалить учетную запись пользователя brian@localhost войдите в оболочку MYSQL и выполните:
DROP USER 'brian@localhost' ;
В случае успешного выполнения команда вернет:
Query OK, 0 rows affected (0.00 sec)
Чтобы удалить несколько учетных записей пользователей одной командой, выполните оператор DROP USER а затем укажите пользователей, которых вы хотите удалить, разделив их пробелом:
DROP USER 'brian@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 | | luke | % | | jabba | localhost | | jabba | 10.10.8.8 | | chewbacca | localhost | +------------------+-----------+ 5 rows in set (0.00 sec)
В MySQL учетная запись пользователя состоит из имени пользователя и имени хоста. jabba@localhost и jabba@10.10.8.8 — это разные учетные записи пользователей.
Предположим, учетная запись пользователя chewbacca@localhost больше не нужна и мы хотим ее удалить.
Чтобы удалить пользователя, выполните:
DROP USER 'chewbacca'@'localhost'
Query OK, 0 rows affected (0.00 sec)
Команда удалит учетную запись пользователя и ее привилегии.
Теперь, когда пользователь удален, вы, возможно, также захотите удалить базы данных, связанные с этим пользователем.
Заключение
Чтобы удалить учетную запись пользователя MySQL, используйте оператор DROP USER за которым укажите имя пользователя, которого вы хотите удалить.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства
- Как установить MariaDB на CentOS 8
- Вывести список (показать) таблиц в базе данных MySQL
- Как настроить репликацию Master-Slave MySQL (MariaDB) в Debian 10
- Как подключиться к MySQL через SSH-туннель
- Как разрешить удаленные подключения к серверу базы данных MySQL
- Как установить MariaDB на Debian 10
- Как показать список всех баз данных в MySQL