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