Перейти к содержимому

Как удалить пользователя в mysql

  • автор:

Как правильно удалить пользователя 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;

8f1bV55iL+1ywAAAAASUVORK5CYII=

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

Как отозвать полномочия пользователя MySQL

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

3DILRfg4f8EzblbbZvVGLMAAAAASUVORK5CYII=

В качестве примера вход в оболочку MySQL был осуществлен под пользователем alex.

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

SHOW GRANTS FOR CURRENT_USER;

SHOW GRANTS FOR CURRENT_USER();

6ML7ZXcYNLFWvniYGvXc+f8B2OhLPmT7moUAAAAASUVORK5CYII=

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

SHOW GRANTS FOR ‘alex’@’localhost’;

eqSJpuPnoO4Ceygr79CnnTuJRWVg+2m2fcPm43+WSPsih8HXbBCn3l0FiRy2fCXsyj0botkawZZ4yYDpby2hv8Maz045fiytfX0WdpY4POWD5284VO17ZX7zNX8TmOtKJmRril4DJE7RxSCV1mrMeKndqpq5gtLM8VeKDdp+dbv8H0FiEY9kNEacAAAAASUVORK5CYII=

В приведенном примере были выведены все права пользователя alex. В качестве значений сначала указывается имя пользователя присутствующего на сервере MySQL, а через знак @ указывается тип учетной записи (localhost, %, имя сайта/домена, IP адрес).

В MySQL привилегии делятся на статические и динамические. Статические привилегии встроены в сам сервер MySQL, в отличие от динамических привилегий, которые можно определить во время выполнения запроса. Полный список всех доступных привилегий в MySQL доступен на официальном сайте MySQL

Например, для того чтобы убрать (отозвать) разрешения на UPDATE и INSERT для пользователя alex, который может подключаться удалённо (%) необходимо выполнить следующий SQL запрос:

REVOKE UPDATE, INSERT ON MyGuests FROM ‘alex’@’%’;

8Bki7z0e0D+2AAAAAASUVORK5CYII=

Для того что отобрать все права на конкретную базу данных для конкретного пользователя, например, alex, сразу необходимо выполнить SQL запрос:

REVOKE ALL ON test_db FROM ‘alex’@’%’;

9VLAehDIcmtgAAAABJRU5ErkJggg==

При выполнении SQL оператора REVOKE подразумевается, что пользователю уже назначены права, которые необходимо отобрать иначе отобразится следующая ошибка:

ERROR 1147 (42000): There is no such grant defined for user ‘alex’ on host ‘%’ on table ‘MyGuests’

mN5I957wa5E8PSFND3wtnimbDDjhQul5v8BHU4+SQSoBwsAAAAASUVORK5CYII=

Как удалить пользователя MySQL

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

F4BwAAAAASUVORK5CYII=

Как удалить подключенного пользователя

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

FOqugU9AVLoAAAAASUVORK5CYII=

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

+f8BVnreDXrvoIAAAAAASUVORK5CYII=

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

0DvBwAAAABJRU5ErkJggg==

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

F4BwAAAAASUVORK5CYII=

Выводы

В данной статье было подробно описано как узнать полномочия пользователя в СУБД 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 год не станет исключением – он обещает принести множество интересных возможностей…

Заболевания желудочно-кишечного тракта являются одной из наиболее распространенных проблем современного человека. Неправильное питание, стрессы, неактивный образ жизни – все это провоцирует возникновение…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *