• Русский
  • Управление пользователями

    Обзор функции

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

    Процедура

    CLI
    Web Console
    1. Создание пароля пользователя

      kubectl -n ${namespace} create secret generic mgr-${instance_name}-${username}-password \
      --from-literal=host="%" \
      --from-literal=user=${username} \
      --from-literal=password=${password}
      Info
      • ${instance_name} — желаемое имя экземпляра MySQL-MGR для создаваемого пользователя
      • ${namespace} — namespace, к которому принадлежит экземпляр
      • ${username} — желаемое имя пользователя для создания
      • ${password} — желаемый пароль для установки
    2. Создание CR для управления пользователем

      kubectl apply -n ${namespace} -f - <<EOF
      apiVersion: middleware.alauda.io/v1
      kind: MysqlUser
      metadata:
        labels:
          mgr/cluster: mgr
          mysql/arch: mgr
        name: ${name}
        namespace: ${namespace}
      spec:
        host: '%'
        mysql: ${instance_name}
        privileges:
          - grants:
              - SELECT
              - INSERT
              - UPDATE
              - DELETE
              - CREATE
              - DROP
              - REFERENCES
              - INDEX
              - ALTER
              - CREATE TEMPORARY TABLES
              - LOCK TABLES
              - CREATE VIEW
              - SHOW VIEW
              - CREATE ROUTINE
              - ALTER ROUTINE
              - EXECUTE
              - EVENT
              - TRIGGER
            targets:
              - ${database}.*
        secretName: ${secret_name}
        user: ${username}
      EOF
      Info
      • ${instance_name} — желаемое имя экземпляра MySQL-MGR для создаваемого пользователя
      • ${namespace} — namespace, к которому принадлежит экземпляр
      • ${username} — желаемое имя пользователя для создания
      • ${secret_name} — имя секрета, содержащего пароль
      • ${database} — желаемое имя базы данных для пользователя
    3. Войти в MySQL под соответствующим пользователем

    4. Проверить права пользователя, пример для пользователя dev:

      SHOW GRANTS;

      Результат будет следующим:

      +----------------------------------------------+
      | Grants for dev@%                             |
      +----------------------------------------------+
      | GRANT USAGE ON *.* TO `dev`@`%`              |
      | GRANT ALL PRIVILEGES ON `dev`.* TO `dev`@`%` |
      +----------------------------------------------+