Управлять пользователями MySQL semi-sync

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

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

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

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

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

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

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

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

Настроить доступ к базе данных

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

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

  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;