Как удалить учетные записи пользователей MySQL

MySQL позволяет создавать несколько учетных записей пользователей и предоставлять соответствующие привилегии, чтобы пользователи могли подключаться и управлять базами данных.

Если учетная запись пользователя больше не нужна, рекомендуется удалить пользовательские привилегии или полностью удалить учетную запись пользователя.

В этой статье объясняется, как удалять учетные записи пользователей в MySQL/MariaDB.

В 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 от имени пользователя 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)

В MySQL учетная запись пользователя состоит из частей имени пользователя и имени хоста? andreyex@localhost и andreyex@10.10.8.8 разные учетные записи пользователей.

Допустим, учетная запись пользователя alex@localhost больше не нужна, и мы хотим удалить ее.

Чтобы удалить пользователя, выполните:

DROP USER 'alex'@'localhost'

Query OK, 0 rows affected (0.00 sec)

Команда удалит учетную запись пользователя и ее привилегии.

Теперь, когда пользователь удален, вы также можете удалить базы данных, связанные с этим пользователем.

Чтобы удалить учетную запись пользователя MySQL, используйте оператор DROP USER, за которым следует имя пользователя, которого вы хотите удалить.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Делиться