Языки программирования

Манипуляция с пользователями в MySQL Workbench

В прошлой статье мы научились устанавливать программу MySQL Workbench и при установке создавали пользователя для работы с программой.
В этой статье вы научитесь создавать нового пользователя, изменять пароль, добавлять привелегии для пользователя и удалять пользователей в MySQL через консоль MySQL Workbench.
Для выполнения любой из этих команд вам нужно иметь права доступа root. Также, обязательно выполняйте FLUSH PRIVILEGES после любого изменения в правах доступа.

1. Создание пользователя MySQL с неограниченными правами доступа

Как только вы начнёте использовать MySQL, вам будет предоставлено имя пользователя и пароль. Эти начальные учётные данные дают вам привелегии «root-доступа». Пользователь с правами доступа root имеют полный доступ ко всем базам данных и таблицам внутри этих баз.
Если вы хотите создать еще одного пользователя с неограниченными правами, тогда вам необходимо:
1. Запустить консоль «MySQL Workbench Command Line Client»
2. В консоли напишите команду:
CREATE USER 'имя пользователя'@'localhost' IDENTIFIED BY 'пароль';
Вместо имени пользователя и пароля введите свои данные.

3. Просто создать нового пользователя недостаточно. Необходимо назначить для него права доступа. Чтобы назначить вновь созданном пользователю неограниченные права доступа к базе данных, выполните следующую команду:
GRANT ALL PRIVILEGES ON * . * TO 'имя пользователя'@'localhost';
Для того, чтоб изменения вошли в силу запустите команду обновления:
FLUSH PRIVILEGES;
На этом создание нового пользователя окончено. Новый пользователь получил те же права доступа в базе данных, что и пользователь root.

Все пользователи хранятся в базе данных «mysql» таблице user. Давайте проверим добавился наш новый пользователь в таблицу. Для это необходимо ввести команды:
use mysql; // выбераем нужную БД
select user, host from user; // выводим все данные таблицы user
После этого появится вся информация из таблицы, и наш новый пользователь должен там находиться.

Чтобы запустить командную строку под новым пользователем необходимо зайти в интерфейс программы MySQL Workbench и создать новое подключение:
Вводим все данные нового пользователя:
После создания нового подключения нажимаем на него правой кнопкой мыши и запускаем командную строку:

2. Назначить специальные права доступа для пользователя MySQL

Для безопасности ваших файлов в БД MySQL лучше предоставлять разные уровни доступа для разных пользователей. MySQL позволяет сделать это легко и быстро, выполнив следующую команду:
GRANT [тип прав] ON [имя базы данных].[имя таблицы] TO ‘non-root’@'localhost’;
Нужно заменить значение «тип прав» на тот вид прав доступа, который вы хотите предоставить новому пользователю. Также вам нужно указать базу данных и имена таблиц, доступ к которым предоставляется. В MySQL есть несколько типов прав доступа, некоторые из них описаны ниже:

CREATE – Позволяет пользователям создавать базы данных/таблицы;

SELECT – Позволяет пользователям делать выборку данных;

INSERT – Позволяет пользователям добавлять новые записи в таблицы;

UPDATE – Позволяет пользователям изменять существующие записи в таблицах;

DELETE – Позволяет пользователям удалять записи из таблиц;

DROP – Позволяет пользователям удалять записи в базе данных/таблицах.

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

Удалить существующего пользователя можно, используя команду:
DROP USER 'имя пользователя'@'localhost';

4. Смена пароля в MySQL

Для смены пароля пользователя можно воспользоваться следующими командами:
Версия 5.7.6 и более современная:
ALTER USER 'имя пользователя'@'localhost' IDENTIFIED BY 'New_Password';
Версия 5.7.5 и древнее:
SET PASSWORD FOR 'имя пользователя'@'localhost' = PASSWORD('New_Password');

5. Удаление пароля

Если необходимо удалить пароль у пользователя, тогда нужно выполнить команду в консоли MySQL:
UPDATE mysql.user SET authentication_string=null WHERE User='имя пользователя';
FLUSH PRIVILEGES;
exit;
После удаления пароля вход в консоль будет производится без пароля. В целях безопасности это не рекомендуется делать.

6. Добавление пароля

С помощью пункта 5 можно удалить пароль у конкретного пользователя, а с помощью этой команды можно обратно задать новый пароль для пользователя:
ALTER USER 'имя пользователя'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'пароль';
Видео:
Самоучитель по SQL