Главная страница » Linux » Как добавить нового пользователя в MySQL и назначить права доступа

Как добавить нового пользователя в MySQL и назначить права доступа

Бывают ситуации, когда на одном сервере баз данных, необходимо иметь несколько пользователей, каким-то необходимо предоставить полный доступ, кому-то на оборот ограничить.

Рассмотрим как можно создать пользователя и предоставим ему необходимый список полномочий доступа к БД. Все ниже описанное настраивается на микрокомпьютере Raspberry Pi под операционной системой Raspbian (debian). В системах под управлением Linux, различных модификаций, обычно, все настройки соответствуют этой статьи.

Создаем пользователя

В командной строке (в терминале) вводим команду:

sudo mysql

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

CREATE USER 'non-root'@'localhost' IDENTIFIED BY '123';

Имя пользователя и пароль необходимо указать свои. «non-root» — пользователь, «123» — пароль. После ввода команды, пользователь будет создан.


Назначение прав доступа

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

GRANT ALL PRIVILEGES ON * . * TO 'non-root'@'localhost';

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

FLUSH PRIVILEGES;

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

Предоставляем права доступа в базам данных

Как я и говорил выше, не всегда целесообразно предоставлять пользователю полные привилегии доступа.

В команде необходимо подставить свои правила:

GRANT [тип прав] ON [имя базы данных].[имя таблицы] TO ‘user1’@'localhost’;

Тебе просто нужно заменить значение ‘тип прав’ на тот вид прав доступа, который тебе необходимо предоставить новому пользователю. Также тебе нужно указать базу данных и имена таблиц, доступ к которым предоставляется. В MySQL есть несколько типов прав доступа, некоторые из них описаны ниже:

  • CREATE – Позволяет пользователям создавать базы данных/таблицы
  • SELECT – Позволяет пользователям делать выборку данных
  • INSERT – Позволяет пользователям добавлять новые записи в таблицы
  • UPDATE – Позволяет пользователям изменять существующие записи в таблицах
  • DELETE – Позволяет пользователям удалять записи из таблиц
  • DROP – Позволяет пользователям удалять записи в базе данных/таблицах
  • GRANT OPTION — позволит назначать или удалять права доступа для других пользователей.

Для использования любой из этих опций, просто замени [тип прав] необходимым словом. Чтобы назначить несколько видов прав доступа, раздели их запятыми как в следующей команде. Например, мы можем назначить такие привилегии как CREATE и SELECT для нашего user1 пользователя MySQL такой командой:

GRANT CREATE, SELECT ON * . * TO 'user1'@'localhost';

Конечно, ты можешь столкнуться с ситуацией, когда нужно забрать у пользователя данные ранее права доступа. Сделать это можно выполнив следующую команду:

REVOKE [тип прав] ON [имя базы данных].[имя таблицы] FROM ‘user1’@‘localhost’;

Например, чтобы отменить все привилегии у пользователя user1 нужно сделать:

REVOKE ALL PRIVILEGES ON *.* FROM 'user1'@'localhost';

В заключение, ты можешь удалить существующего пользователя, используя команду:

DROP USER ‘user1’@‘localhost’;

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

Метки:

1 комментарий для “Как добавить нового пользователя в MySQL и назначить права доступа”

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

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