Операции с пользователями

  • CREATE USER — Создание нового пользователя

  • ALTER USER — Изменение атрибутов пользователя

  • DROP USER — Сброс пользователя

  • DESCRIBE USER — Вывод информации о пользователе

  • SHOW USERS — Вывод списка всех пользователей

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

CREATE [OR REPLACE] USER [IF NOT EXISTS] <user_name>
    [SET DEFAULT WORKER POOL <pool_id>]
    [IDENTIFIED BY (TRUST <ip_address> | PASSWORD <user_password>)];

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

Модификатор OR REPLACE

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

Модификатор IF NOT EXISTS

Если указан опциональный модификатор IF NOT EXISTS, то запрос будет выполнен только в том случае, если пользователь с именем <user_name> не существует, в противном случае ничего не произойдет.

Модификаторы OR REPLACE и IF NOT EXISTS являются взаимоисключающими. Если указать их оба, это приведет к ошибке.

Параметр SET DEFAULT WORKER POOL

Опциональный параметр SET DEFAULT WORKER POOL <pool_id> устанавливает вычислительный пул <pool_id> по умолчанию для указанного пользователя.

Параметр IDENTIFIED BY TRUST

Опциональный параметр IDENTIFIED BY TRUST <ip_address> устанавливает проверку подлинности указанного пользователя через IP адрес <ip_address>.

Примеры:

  • CREATE USER ivanov IDENTIFIED BY TRUST '127.0.0.1';
  • ALTER USER ivanov IDENTIFIED BY TRUST '127.0.0.1';

Параметр IDENTIFIED BY PASSWORD

Опциональный параметр IDENTIFIED BY PASSWORD <user_password> устанавливает проверку подлинности указанного пользователя через пароль <user_password> с использованием алгоритма SCRAM-SHA-256.

Примеры:

  • CREATE USER ivanov IDENTIFIED BY PASSWORD 'QWERTY123456';
  • ALTER USER ivanov IDENTIFIED BY PASSWORD 'QWERTY123456';

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

ALTER USER [IF EXISTS] <username>
    RENAME TO <new_name>;

ALTER USER [IF EXISTS] <username>
    SET DEFAULT WORKER POOL <pool_id>;

ALTER USER [IF EXISTS] <username>
    IDENTIFIED BY (TRUST <ip_address> | PASSWORD <user_password>);

Изменяет атрибуты пользователя.

  • RENAME TO <new_name> — атомарная операция, которая переименовывает пользователя на новое имя. Никакие другие свойства данного пользователя (предоставленные роли, привилегии и т.д.) при этом не изменяются.

  • SET DEFAULT WORKER POOL <pool_id> — см. Параметр SET DEFAULT WORKER POOL.

  • IDENTIFIED BY TRUST <ip_address> — см. Параметр IDENTIFIED BY TRUST.

  • IDENTIFIED BY PASSWORD <user_password> — см. Параметр IDENTIFIED BY PASSWORD.

Опциональный модификатор IF EXISTS ограничивает запрос только теми случаями, в которых указанный объект существует.

Сброс пользователя

DROP USER [IF EXISTS] <username>;

Полностью удаляет пользователя из системы.

Не сохраняется ничего, включая предоставленные роли и права доступа.

Возможно, что некоторые объекты потеряют права доступа.

Опциональный модификатор IF EXISTS ограничивает запрос только теми случаями, в которых указанный объект существует.

Вывод информации о пользователе

DESC[RIBE] USER <username>;

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

Вывод списка всех пользователей

SHOW USERS;

Вывод списка всех зарегистрированных пользователей.