Как правильно удалить пользователя MySQL/MariaDB
Если у вас есть необходимость удалить какой-либо продукт типа WordPress или Drupal, то вы должны удалить пользователя из базы данных. Вам нужно удалить все выданные ранее права/разрешения и только после этого удалять пользователя. Для начала вам необходимо подключиться к базе данных:
$ mysql -u root -p mysql
$ mysql -u root -h db.example.com -p mysql
Шаг 2 — список всех пользователей
Для того чтоб увидеть разрешения для пользователя bloguser введите:
mariadb> SHOW GRANTS FOR 'bloguser'@'localhost';
- bloguser — имя пользователя MySQL/MariaDB
- localhost — имя хоста, с которого разрешено подключаться этому пользователю
- mywpblog — имя базы данных
Шаг 3 — отзыв всех разрешений
Введите следующую sql команду:
mariadb> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'bloguser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
Шаг 4 — Удаление пользователя
Введите следующую команду:
mariadb> DROP USER 'bloguser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
Шаг 5 — удаление базы данных
Введите следующую команду:
mariadb> DROP DATABASE mywpblog;
Query OK, 0 rows affected (0.00 sec)
На этом все. 🙂 Вы удалили пользователя базы данных.
Похожие записи:
- How To: Создание нового пользователя в MySQL
- Восстановление пароля root для MySQL
- У сертификата AddTrust истек срок действия
- Запускаем скрипт при старте и выключении Ubuntu
- Как проверить версию TLS
Как удалить учетные записи пользователей MySQL
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 и [email protected] — разные учетные записи пользователей.
Допустим, chewbacca@localhost запись пользователя chewbacca@localhost больше не нужна, и мы хотим ее удалить.
Чтобы удалить пользователя, выполните:
DROP USER 'chewbacca'@'localhost'
Query OK, 0 rows affected (0.00 sec)
Команда удалит учетную запись пользователя и ее привилегии.
Теперь, когда пользователь удален, вы также можете удалить базы данных, связанные с этим пользователем.
Выводы
Чтобы удалить учетную запись пользователя MySQL, используйте оператор DROP USER за которым следует имя пользователя, которого вы хотите удалить.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как удалить пользователя MySQL
В СУБД MySQL доступно много действий для работы с пользователями. Одно из таких действий — удаление пользователя. Также дополнительно можно узнать какие полномочия присутствуют у пользователя и при необходимости лишить определённых прав.
В данной статье будет описано как удалить пользователя в MySQL в операционной системе Ubuntu 20.04.
Как посмотреть хосты пользователя
В MySQL пользователи не существуют сами по себе, они привязаны к хостам с которых к ним можно подключиться. Чтобы узнать к какому типу хоста привязан пользователь необходимо выполнить следующий SQL запрос:
SELECT user, host FROM mysql.user;

Тип хоста localhost означает что пользователь может входить под своей учетной записью только с локального сервера (на котором установлен MySQL), символ процента % означает что пользователь может подключиться под своей учетной записью удаленно и с любого хоста.
Как отозвать полномочия пользователя MySQL
Для начала необходимо войти в консоль MySQL. Для этого в терминале необходимо ввести следующую команду, где alex имя вашего пользователя:

В качестве примера вход в оболочку MySQL был осуществлен под пользователем alex.
Перед удалением пользователя в MySQL бывает полезным посмотреть права пользователя и при необходимости лишить его этих прав. Далее необходимо отобразить права нужного пользователя. Чтобы отобразить права текущего пользователя (который в данный момент подключен к консоли MySQL) можно выполнить одну из перечисленных ниже команд. Результат вывода будет одинаков везде независимо от выбранной команды:
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

Если права необходимо отобразить для конкретного пользователя, то необходимо воспользоваться следующей командой:
SHOW GRANTS FOR ‘alex’@’localhost’;

В приведенном примере были выведены все права пользователя alex. В качестве значений сначала указывается имя пользователя присутствующего на сервере MySQL, а через знак @ указывается тип учетной записи (localhost, %, имя сайта/домена, IP адрес).
В MySQL привилегии делятся на статические и динамические. Статические привилегии встроены в сам сервер MySQL, в отличие от динамических привилегий, которые можно определить во время выполнения запроса. Полный список всех доступных привилегий в MySQL доступен на официальном сайте MySQL
Например, для того чтобы убрать (отозвать) разрешения на UPDATE и INSERT для пользователя alex, который может подключаться удалённо (%) необходимо выполнить следующий SQL запрос:
REVOKE UPDATE, INSERT ON MyGuests FROM ‘alex’@’%’;

Для того что отобрать все права на конкретную базу данных для конкретного пользователя, например, alex, сразу необходимо выполнить SQL запрос:
REVOKE ALL ON test_db FROM ‘alex’@’%’;

При выполнении SQL оператора REVOKE подразумевается, что пользователю уже назначены права, которые необходимо отобрать иначе отобразится следующая ошибка:
ERROR 1147 (42000): There is no such grant defined for user ‘alex’ on host ‘%’ on table ‘MyGuests’

Как удалить пользователя MySQL
Для удаления пользователя в MySQL необходимо использовать SQL инструкцию DROP. Например, команда для удаления пользователя alex выглядит следующим образом:

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

В столбце Id будет отображен уникальный номер (ID) подключенного пользователя. Запомните его. Например, для того чтобы завершить сессию пользователя alex с идентификатором 16 необходимо выполнить команду:

Если выполнить команду SHOW PROCESSLIST ещё раз, то можно увидеть что пользователь с ID 16 отсутствует:

После того как сессия пользователя будет завершена, пользователя можно удалить при помощи инструкции DROP. Например:

Выводы
В данной статье было подробно описано как узнать полномочия пользователя в СУБД MySQL, а также как их отнять у пользователя. Дополнительно было рассмотрено как удалить пользователя MySQL. Если у вас остались вопросы задавайте их в комментариях!
Как удалить пользователя MySQL / MariaDB

Если у вас есть устаревшая или неиспользуемая учетная запись в базе данных MySQL или MariaDB, лучше от нее избавиться.
Наличие даже одного дополнительного пользователя – это дополнительная уязвимость и поверхность для атаки в базе данных.
В этом руководстве мы покажем вам пошаговые инструкции по удалению определенного пользователя из базы данных MySQL или MariaDB из командной строки в системе Linux.
Удаление пользователя
Откройте терминал в своей системе и выполните следующие действия, чтобы удалить пользователя из MySQL или MariaDB:
Откройте MySQL от имени пользователя root.
$ mysql -u root -p или $ sudo mysql
Затем используйте команду DROP USER, чтобы удалить пользователя.
В этом примере мы удаляем пользователя itisgood.
mysql> DROP USER 'itisgood'@'localhost';
Предполагая, что пользователь существует, MySQL должен выдать ответ Query OK, а пользователя больше не будет в базе данных.
Теперь вы можете выйти из терминала MySQL с помощью команды exit.
Заключение
Как мы увидели в этом руководстве, удаление пользователя в MySQL или MariaDB происходит быстро и легко.
Сохранение минимального количества пользователей позволит защитить вашу базу данных от возможных атак.
itisgood
previous post
Несколько интересных вещей, которые можно сделать с Linux
Как установить и использовать Flatpak на Linux
You may also like
Как настроить базовый DHCP-сервер
Как расширить или увеличить размер диска виртуальной.
Как определить точку монтирования для конкретного файла.
Копирование файлов на Linux с помощью строки.
Как отобразить содержимое каталога, отсортированное по времени
Настройка уведомлений по электронной почте для отчетов.
Подключение интернет-магазина к CDEK Pay
Как вывести список USB-устройств на Linux
Настройка доступа к данным на сервере
Как узнать шлюз по умолчанию
Leave a Comment Cancel Reply
• Свежие записи
- Механизмы и мотивации в накрутке голосований в опросах Телеграм
- Smart Ear — проект развития компьютерного слуха
- Как автоматизировать бухучет: обзор ПО для компаний разного масштаба
- Лучшие каналы продвижения товаров и привлечения клиентов в 2023 году: экспертные рекомендации
- Питание при проблемах ЖКТ: как правильно построить рацион и облегчить симптомы
- Как настроить базовый DHCP-сервер
- Различия между пакетными менеджерами YUM и DNF
- Как уменьшить размер тома данных Docker в Docker Desktop на Windows
- Как расширить или увеличить размер диска виртуальной машины KVM (VM)
- Как определить точку монтирования для конкретного файла или каталога
• Категории
• Теги
• itsecforu.ru

• Страны посетителей
IT is good
В современном мире социальных медиа и мессенджеров, где каждый голос и мнение имеют значение, накрутка голосований в опросах Телеграм стала актуальной темой. Телеграм — одна…
Искусственный интеллект с каждым годом становится сложнее и прогрессивнее. Появляются инновационные проекты, которые помогают развивать компьютерные чувства. Платформа SMART.by подробно знакомит с такими…
Автоматизация бухгалтерского и налогового учета сегодня – насущная необходимость для каждой организации. Выбор подходящего программного продукта позволяет сильно облегчить рутинную работу бухгалтера, минимизировать…
Маркетинг постоянно развивается, и каждый год появляются новые инструменты и тренды. 2023 год не станет исключением – он обещает принести множество интересных возможностей…
Заболевания желудочно-кишечного тракта являются одной из наиболее распространенных проблем современного человека. Неправильное питание, стрессы, неактивный образ жизни – все это провоцирует возникновение…