Управление пользователями MySQL

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

Чтобы создать базу данных в кластере, нужно сначала создать пользователя.

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

К одной базе данных MySQL можно выдать доступ нескольким пользователям.

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

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Базы данных.
  2. Откройте страницу кластера баз данных вкладка Пользователи.
  3. Нажмите Создать пользователя.
  4. Введите имя и пароль. Сохраните пароль — в панели управления он храниться не будет.
  5. Нажмите Сохранить.

Доступ к базам данных

Выдать доступ пользователю

К одной базе данных можно выдать доступ нескольким пользователям.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Базы данных.
  2. Откройте страницу кластера баз данных вкладка Базы данных ⟶ страница базы данных.
  3. В блоке Имеют доступ нажмите Добавить и выберите пользователя.

Пользователь может только подключиться к базе данных (CONNECT) и не может выполнять операции с объектами. Чтобы дать пользователю доступ к объектам, выдайте ему нужные привилегии.

Удалить доступ для пользователя

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Базы данных.
  2. Откройте страницу кластера баз данных вкладка Базы данных ⟶ страница базы данных.
  3. В блоке Имеют доступ удалите пользователя.

Привилегии пользователя

Выдать привилегии

Выдать пользователям привилегии на базы данных и таблицы можно с помощью команды GRANT. Привилегии могут быть следующими: SELECT, INSERT, DELETE, USAGE и т.д.

Пример выдачи доступа на чтение (SELECT) к таблице table в базе данных database пользователю user:

GRANT SELECT ON table TO user;

Пример выдачи доступа на чтение (SELECT) к базе данных database пользователю user:

GRANT SELECT ON database.* TO user;

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

  1. Создайте пользователя.
  2. Выдайте пользователю доступ к базе данных.
  3. Создайте еще одного пользователя, который будет иметь права только на чтение (read-only).
  4. Подключитесь к базе данных с помощью первого пользователя.
  5. Выдайте read-only права к базе данных второму пользователю:

    REVOKE ALL PRIVILEGES ON <database_name>.* FROM '<username>'@'%';
    GRANT SELECT ON <database_name>.* TO '<username>'@'%';

    Укажите:

    • <database_name> — имя базы данных;
    • <username> — имя пользователя, которому будут выданы read-only права.

Отозвать привилегии

Отозвать у пользователя привилегии можно с помощью команды REVOKE.

Пример отзыва привилегии у пользователя user на таблицу table и базу данных database:

REVOKE SELECT ON table FROM user;
REVOKE SELECT ON database.* FROM user;