Удалить пользователя mysql linux

Содержание
  1. MySQL Создание / удаление пользователей
  2. Как залогиниться в MySQL?
  3. Как узнать какие пользователи существуют?
  4. Как создать нового пользователя?
  5. Как удалить пользователя?
  6. Как изменить пароль у пользователя ?
  7. Как дать ограниченные привилегии пользователю?
  8. Как отобрать ограниченные привилегии у пользователя?
  9. Роли в MySQL
  10. Создание пользователей MySQL/MariaDB и предоставление прав доступа
  11. Создание пользователя и выдача прав
  12. 1. С помощью команды GRANT.
  13. 2. С помощью команды CREATE USER.
  14. Посмотреть существующих пользователей и их привилегии
  15. Смена пароля
  16. MySQL
  17. MariaDB
  18. Смена пароля пользователю root после установки
  19. MySQL mysqladmin -u root password
  20. MySQL 8 и выше
  21. Сброс пароля для root
  22. Другие примеры
  23. 1. Особые права
  24. 2. Удаленное подключение
  25. 3. Права на резервное копирование
  26. 4. Права доступа к определенной таблице
  27. 5. Удаление пользователя
  28. 6. Права на создание других пользователей
  29. Возможные ошибки
  30. Как удалить или переместить учетную запись пользователя MySQL / MariaDB
  31. Как удалить или переместить учетную запись пользователя в базе данных MySQL или MariaDB в Linux или Unix-подобной системе
  32. Шаг 1 – Шаги по удалению пользователя MySQL/MariaDB
  33. Шаг 2 –Перечислите всех mysql пользователей
  34. Шаг 3 – Список свойств для пользователя mysql
  35. Шаг 4 – Отменить все свойства для пользователя mysql
  36. Шаг 5 – Переместить/Удалить пользователя из таблицы пользователей
  37. Шаг 6 – Удаление базы данных

MySQL Создание / удаление пользователей

Как залогиниться в MySQL?

Итак, чтобы залогиниться в MySQL под определенным пользователем, нужно набрать в командной строке…

Первый пользователь, о котором Вы можете знать – тот, которого Вы создавали при установке MySQL. Как правило это пользователь под именем root… Когда введете первую строку, система Вам предложит ввести пароль… Если ввёдете правильно окажетесь в консоли mysql;

Как узнать какие пользователи существуют?

Для начала – я выбрал базу данных mysql – она создается автоматически при инсталляции программы-сервера MySQL. В этой БД содержится таблица user, в которой огромное количество полей, но для простоты я вывел – имя пользователя, хост и пароль.

Как создать нового пользователя?

Для этого нужно выполнить 2 действия

1) собственно создать командой

CREATE USER ‘My user ‘@’localhost’ IDENTIFIED BY ‘ password ‘;

2) дать пользователю привилегии, права, например так
GRANT ALL PRIVILEGES ON * . * TO ‘ newuser ‘@’localhost’;

Как видно – да! MyUser в списке пользователей. Теперь попробуем залогиниться под этим пользователем, перед этим напечатав в консоли mysql.exe команду quit;

P.S… Если привилегии предоставляются пользователю, которого не существует, то этот пользователь создается, поэтому создавать пользователя можно сразу с команды GRANT…

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

Для этого вылогинимся из под myuser и залогинимся под root…

Для того, чтобы удалить пользователя, наберем команду drop user username; в консоли…

Обратите, внимание, что сначала я написал drop user myuser и это не сработало, так как более точное определение у нас drop user ‘myuser’@’localhost’; последняя инструкция сработала на ура!

Как изменить пароль у пользователя ?

Как дать ограниченные привилегии пользователю?

Создадим нового пользователя через инструкцию GRANT (инструкция работает таким образом, что если пользователя с таким именем нет, то он создается, поэтому можно миновать инструкцию CREATE)

Итак, у нас ограниченные привилегии для пользователя, он может только делать выборку, редактировать данные, вставлять новые, удалять их. Только в БД sql_groupby и только в таблице Sales. Кроме того, такого пользователя у нас не было, но он создался по команде Grant.

Читайте также:  Проблемы с микрофоном windows 10 шкала не колебается

Как отобрать ограниченные привилегии у пользователя?

Итак, мы отобрали одну привилегию у пользователя – update. Можно отбирать не больше, чем дано привилегий, иначе ошибка.

Роли в MySQL

По поводу ролей в MySQL нашёл такую информацию на форуме… Как таковых, ролей нет в mysql, но можно поступить таким образом, цитирую…

Можно создать таблицу, куда заносятся роли и соответствующие им права, и таблицу, куда заносятся логины и присвоенные им роли. И повесить на вторую таблицу триггер, который по добавлению-изменению-удалению будет соотв. образом менять права логина.

Можно будет поэкспериментировать с этой идеей в будущих постах…

Источник

Создание пользователей MySQL/MariaDB и предоставление прав доступа

Учетные записи в СУБД MySQL/MariaDB представлены в виде связки @ . Это может вызвать путаницу, поэтому необходимо быть внимательнее, например, учетные записи root@localhost и root@192.168.0.15 — разные.

Создание пользователя и выдача прав

Рассмотрим два варианта создания учетных записей в СУБД MySQL/MariaDB.

1. С помощью команды GRANT.

Данный метод позволяет одной командой сразу и создать пользователя, и дать ему права. Но, начиная с MySQL 8, она возвращает ошибку — разработчики запретили ее использование и сначала требуется создать пользователя (с помощью CREATE USER).

> GRANT ON TO [IDENTIFIED BY ] ;

Например, эта команда предоставляет права доступа пользователю и, если его не существует, создает его:

> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

ALL PRIVILEGES: предоставляет полные права на использование данных.
*.* : права предоставляются на все базы и все таблицы.
dbuser: имя учетной записи.
localhost: доступ для учетной записи будет предоставлен только с локального компьютера.
password: пароль, который будет задан пользователю.
WITH GRANT OPTION: будут предоставлены дополнительные права на изменение структуры баз и таблиц.

2. С помощью команды CREATE USER.

Данный метод является универсальным. Он позволяет создать пользователя в системе без каких либо прав. После права назначаются командой GRANT.

Пример создания учетной записи:

> CREATE USER ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;

После можно задать права командой:

> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’localhost’;

Посмотреть существующих пользователей и их привилегии

> SELECT user, host FROM mysql.user;

Список привилегий (для кажого пользователя смотряться отдельно):

> SHOW GRANTS FOR ‘root’@’localhost’;

* где ‘root’@’localhost’ — учетная запись, для которой смотрим привилегии; если упустить FOR, команда выдаст результат для пользователя, под которым выполнено подключение к СУБД.

Смена пароля

Команды отличаются в зависимости от версии СУБД.

MySQL

Версия 5.7.6 и более современная:

> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘New_Password’;

Версия 5.7.5 и древнее:

> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘New_Password’);

* посмотреть версию СУБД можно командой mysql -V.

MariaDB

В MariaDB команда для смены пароля одна, независимо от версии:

> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘New_Password’);

* в данном примере будет задан пароль New_Password для пользователя root.

Смена пароля пользователю root после установки

Для старых версий СУБД и новых процедуры различаются.

MySQL mysqladmin -u root password

Для смены пароля root необходимо выполнить команду в оболочке mysql по инструкции, описанной выше.

MySQL 8 и выше

Пароль создается автоматически при установке системы. Его можно посмотреть командой:

grep ‘password’ /var/log/mysqld.log

Мы увидим что-то на подобие:

2021-08-16T20:14:13.173577Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: oi25?wznro%W

Читайте также:  Можно ли устанавливать windows за деньги

* где oi25?wznro%W — пароль для пользователя root.

Заходим в оболочку sql с помощью данного пароля:

Сброс пароля для root

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

Для начала необходимо остановить сервис:

systemctl stop mysql

systemctl stop mariadb

Создаем каталог /var/run/mysqld и зададим для него нужные права:

mkdir -p /var/run/mysqld

chown mysql:mysql /var/run/mysqld

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

Запускаем в безопасном режиме СУБД:

Запускаем оболочку sql — система не потребует пароль:

Выполняем запрос FLUSH PRIVILEGES:

Выходим из оболочки:

Уничтожаем процесс, который запустили ранее:

После, запускаем mysql в нормальном режиме:

systemctl start mysql

systemctl start mariadb

Другие примеры

Рассмотрим часто встречаемые операции по работе с пользователями сервера баз данных.

1. Особые права

Предоставление особых прав пользователю:

> GRANT SELECT, UPDATE ON base1.* TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;

* права на выборку и обновление данных во всех таблицах базы base1 для пользователя dbuser
** список всех возможных прав: all privileges, alter, create, create temporary tables, delete, drop, execute, file, index, insert, lock tables, process, references, reload, replication client, replication slave, select, show databases, shutdown, super, update, usage

2. Удаленное подключение

Разрешение на удаленное подключение и использование базы MySQL:

> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’192.168.0.55’ IDENTIFIED BY ‘password’;

* предоставит права пользователю dbuser, который будет подключаться с компьютера с IP-адресом 192.168.0.55.

3. Права на резервное копирование

Создание учетной записи MySQL с правами создания резервных копий:

> GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER, LOCK TABLES ON *.* TO ‘backup’@’localhost’ IDENTIFIED BY ‘backup’;

4. Права доступа к определенной таблице

По сути, это такое же предоставление прав, но с указанием конкретной таблицы после базы:

> GRANT ALL PRIVILEGES ON base1.table1 TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;

* в данном примере предоставлены все права на таблицу table1 в базе base1.

5. Удаление пользователя

Нам может также понадобиться удалить ранее созданного пользователя. Это делается в два этапа:

> REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘dbuser’@’localhost’;

> DROP USER ‘dbuser’@’localhost’;

* в данном примере мы первой командой отняли все права у пользователя dbuser (localhost) и второй — удалили его.

6. Права на создание других пользователей

Чтобы наш пользователь мог создавать других пользоватлей, задаем права:

GRANT CREATE USER ON *.* TO ‘creator’@’localhost’;

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

Если нужно, чтобы из под данной учетной записи можно было также назначать права, добавим:

GRANT CREATE USER ON *.* TO ‘creator’@’localhost’ WITH GRANT OPTION;

* обратите внимание, что мы просто добавили WITH GRANT OPTION.

Возможные ошибки

1. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Причина: в новых версиях по умолчанию активированы политики на проверку сложности пароля. Их список можно посмотреть командой:

> SHOW VARIABLES LIKE ‘validate_password%’;

Вывод команды будет, примерно, следующим:

+—————————————+———+
| Variable_name | Value |
+—————————————+———+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+—————————————+———+

  • validate_password_check_user_name — пароль не должен совпадать с именем пользователя.
  • validate_password_dictionary_file — использовать специальный файл со словарем запрещенных паролей.
  • validate_password_length — минимальная длина пароля.
  • validate_password_mixed_case_count — сколько, как минимум, должно быть символов в малой и большой раскладках.
  • validate_password_number_count — какое минимальное количество цифр использовать в пароле.
  • validate_password_policy — позволяет задать определенный набор правил. Доступны значения LOW (или 0), MEDIUM (1), STRONG (2).
  • validate_password_special_char_count — минимальное количество специальных символов (например, # или !).
  1. Привести пароль в соответствие требованиям политик.
  2. Отключить политику, которая не позволяет использовать желаемый пароль. Например, чтобы отключить требование использовать цифры вводим:
Читайте также:  Windows 10 msdn рутрекер

> SET GLOBAL validate_password_number_count = 0;

2. ERROR 1728 (HY000): Cannot load from mysql.tables_priv. The table is probably corrupted

Причина: система считает, что таблица tables_priv в базе mysql неисправна.

Решение: чаще всего, ошибка возникает при переносе баз с одного сервера в другой. Если версии СУБД разные, таблица tables_priv может работать со сбоями. Для исправления необходимо выполнить команду mysql_upgrade — она проверяет все таблицы на совместимость с текущей версией MySQL/MariaDB и вносит исправления. Применение команды:

Источник

Как удалить или переместить учетную запись пользователя MySQL / MariaDB

Я создал учетную запись пользователя MySQL / MariaDB, используя эту страницу. Теперь я удалил свой блог WordPress, и я хочу удалить эту учетную запись пользователя, включая базу данных. Как удалить или перенести учетную запись пользователя MySQL или MariaDB в Linux или Unix-подобной системе, используя опцию командной строки mysql?

MySQL и MariaDB — системы управления базами данных с открытым исходным кодом. В этом кратком руководстве вы узнаете:

Как удалить или переместить учетную запись пользователя в базе данных MySQL или MariaDB в Linux или Unix-подобной системе

Предупреждение! Создайте резервную копию своей базы данных, прежде чем вводить одну из следующих команд.

Шаг 1 – Шаги по удалению пользователя MySQL/MariaDB

Если вы решили удалить приложение с открытым исходным кодом, такое как WordPress или Drupal, вам нужно удалить эту учетную запись пользователя. Вам нужно удалить все разрешения / свойства и удалить пользователя из таблицы MySQL. Сначала войдите в систему как пользователь MySQL mysql на сервер MySQL / MariaDB, используя оболочку, запустите:

Примеры возможных выводов данных:

Рисунок 01: Оболочка MySQL/MariaDB

Шаг 2 –Перечислите всех mysql пользователей

Когда у вас есть приглашение MySQL или MariaDB, которое выглядит почти точно также, как и на рисунке 1, введите следующую команду в приглашении mysql> или mariadb>, чтобы просмотреть список пользователей MySQL / MariaDB

Примеры возможных выводов данных:

Рисунок 02: Как просмотреть/получить список учетных записей пользователей MySQL / MariaDB

В данном примере, мне нужно удалить mysql пользователя с именем ‘bloguser’@’localhost’ .

Шаг 3 – Список свойств для пользователя mysql

Для того, чтобы посмотреть какими свойствами обладает bloguser, введите:

Примеры возможных выводов данных:

Рисунок 03: Вывод на экран пользовательских свойств

  1. bloguser – Mysql/Maridb имя пользователя
  2. localhost – Mysql/Mariadb имя хоста
  3. mywpblog – имя базы данных

Шаг 4 – Отменить все свойства для пользователя mysql

Введите следующую sql команду:

Примеры возможных выводов данных:

Шаг 5 – Переместить/Удалить пользователя из таблицы пользователей

Введите следующую sql команду:

Примеры возможных выводов данных:

Шаг 6 – Удаление базы данных

Введите следующую команду:

Примеры возможных выводов данных:

И, наконец, вы справились. Пользователь MySQL/MariaDB удаляется или перемещается с сервера в Unix или Linux через опцию командной строки.

Источник

Оцените статью