Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ML Services
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for MySQL®
  • Начало работы
    • Все инструкции
      • Информация об имеющихся кластерах
      • Создание кластера
      • Изменение кластера
      • Остановка и запуск кластера
      • Управление хостами кластера
      • Миграция хостов в другую зону доступности
      • Управление резервными копиями
      • Обновление версии MySQL®
      • Удаление кластера
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Изменить класс хостов
  • Изменить тип диска и увеличить размер хранилища
  • Изменить настройки MySQL®
  • Изменить дополнительные настройки кластера
  • Connection Manager
  • Вручную переключить хост-мастер
  • Переместить кластер
  • Изменить группы безопасности
  1. Пошаговые инструкции
  2. Кластеры
  3. Изменение кластера

Изменение настроек кластера MySQL®

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 9 октября 2025 г.
  • Изменить класс хостов
  • Изменить тип диска и увеличить размер хранилища
  • Изменить настройки MySQL®
  • Изменить дополнительные настройки кластера
    • Connection Manager
  • Вручную переключить хост-мастер
  • Переместить кластер
  • Изменить группы безопасности

После создания кластера вы можете:

  • Изменить класс хостов.

  • Изменить тип диска и увеличить размер хранилища.

  • Изменить настройки MySQL®.

    Важно

    Вы не можете менять настройки MySQL® с помощью команд SQL.

  • Изменить дополнительные настройки кластера.

  • Вручную переключить хост-мастер.

  • Переместить кластер в другой каталог.

  • Изменить группы безопасности.

Подробнее о других изменениях кластера:

  • Обновление версии MySQL®.
  • Миграция хостов кластера в другую зону доступности.

Изменить класс хостовИзменить класс хостов

Выбор класса хостов в кластерах Managed Service for MySQL® ограничен квотами на количество CPU и объем памяти, которые доступны кластерам БД в вашем облаке. Чтобы проверить используемые ресурсы, откройте страницу Квоты и найдите блок Managed Databases.

Примечание

Некоторые настройки MySQL® зависят от выбранного класса хостов.

При смене класса хостов:

  • Кластер из одного хоста будет недоступен несколько минут, соединения с БД будут прерваны.
  • В кластере из нескольких хостов сменится мастер. Каждый хост по очереди будет остановлен и обновлен, остановленный хост будет недоступен несколько минут.
  • Подключение по особому FQDN не гарантирует стабильность соединения с БД: пользовательские сессии могут быть прерваны.

Рекомендуется изменять класс хостов только во время отсутствия рабочей нагрузки на кластер.

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.
  3. Чтобы изменить класс хостов MySQL®, в блоке Класс хоста выберите нужный класс.
  4. Нажмите кнопку Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы изменить класс хостов для кластера:

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-mysql cluster update --help
    
  2. Запросите список доступных классов хостов (в колонке ZONE IDS указаны зоны доступности, в которых можно выбрать соответствующий класс):

    yc managed-mysql resource-preset list
    

    Результат:

    +-----------+--------------------------------+-------+----------+
    |    ID     |            ZONE IDS            | CORES |  MEMORY  |
    +-----------+--------------------------------+-------+----------+
    | s1.micro  | ru-central1-a, ru-central1-b,  |     2 | 8.0 GB   |
    |           | ru-central1-d                  |       |          |
    | ...                                                           |
    +-----------+--------------------------------+-------+----------+
    
  3. Укажите нужный класс в команде изменения кластера:

    yc managed-mysql cluster update <имя_или_идентификатор_кластера>
      --resource-preset <идентификатор_класса>
    

    Managed Service for MySQL® запустит операцию изменения класса хостов для кластера.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Измените в описании кластера Managed Service for MySQL® значение параметра resource_preset_id в блоке resources:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      resources {
        resource_preset_id = "<класс_хоста>"
        ...
      }
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL®:

  • создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
  • изменение кластера, в том числе обновление версии MySQL®, — 60 минут;
  • удаление кластера — 15 минут.

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

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.update и выполните запрос, например с помощью cURL:

    Важно

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

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "configSpec.resources.resourcePresetId",
                  "configSpec": {
                    "resources": {
                      "resourcePresetId": "<класс_хостов>"
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      В данном случае передается только один параметр.

    • configSpec.resources.resourcePresetId — новый класс хостов.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [
                  "config_spec.resources.resource_preset_id"
                ]
              },
              "config_spec": {
                "resources": {
                  "resource_preset_id": "<класс_хостов>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mysql.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      В данном случае передается только один параметр.

    • config_spec.resources.resource_preset_id — новый класс хостов.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Изменить тип диска и увеличить размер хранилищаИзменить тип диска и увеличить размер хранилища

Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты для облака и убедитесь, что в секции Managed Databases в строке Объём HDD-хранилищ или Объём SSD-хранилищ есть квота на объем хранилищ.

Консоль управления
CLI
Terraform
REST API
gRPC API

Чтобы изменить тип диска и увеличить размер хранилища для кластера:

  1. Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.

  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.

  3. В блоке Размер хранилища:

    • Выберите тип диска.
    • Укажите нужный размер диска.
  4. Нажмите кнопку Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы изменить тип диска и увеличить размер хранилища для кластера:

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-mysql cluster update --help
    
  2. Укажите тип диска и нужный размер хранилища в команде изменения кластера (размер хранилища должен быть не меньше, чем значение disk_size в свойствах кластера):

    yc managed-mysql cluster update <имя_или_идентификатор_кластера> \
      --disk-type <тип_диска> \
      --disk-size <размер_хранилища_ГБ>
    

Чтобы изменить тип диска и увеличить размер хранилища для кластера:

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Измените значения параметров disk_type_id и disk_size в блоке resources:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      resources {
        disk_type_id = "<тип_диска>"
        disk_size    = <размер_хранилища_ГБ>
        ...
      }
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL®:

  • создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
  • изменение кластера, в том числе обновление версии MySQL®, — 60 минут;
  • удаление кластера — 15 минут.

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

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.update и выполните запрос, например с помощью cURL:

    Важно

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

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "configSpec.resources.diskTypeId,configSpec.resources.diskSize",
                  "configSpec": {
                    "resources": {
                      "diskTypeId": "<тип_диска>",
                      "diskSize": "<размер_хранилища_в_байтах>"
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

    • configSpec.resources — параметры хранилища:

      • diskTypeId — тип диска.
      • diskSize — новый размер хранилища в байтах.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [
                  "config_spec.resources.disk_type_id",
                  "config_spec.resources.disk_size"
                ]
              },
              "config_spec": {
                "resources": {
                  "disk_type_id": "<тип_диска>",
                  "disk_size": "<размер_хранилища_в_байтах>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mysql.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

    • config_spec.resources — параметры хранилища:

      • disk_type_id — тип диска.
      • disk_size — новый размер хранилища в байтах.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Изменить настройки MySQL®Изменить настройки MySQL®

Примечание

Некоторые настройки MySQL® зависят от выбранного класса хостов.

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.
  3. Измените настройки MySQL®, нажав на кнопку Настроить в блоке Настройки СУБД.
  4. Нажмите кнопку Сохранить.
  5. Нажмите кнопку Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы изменить настройки MySQL®:

  1. Посмотрите описание команды CLI для изменения конфигурации кластера:

    yc managed-mysql cluster update-config --help
    
  2. Установите нужные значения параметров.

    Все поддерживаемые параметры перечислены в формате запроса для метода update, в поле mysql_config_5_7. Чтобы указать имя параметра в вызове CLI, преобразуйте его имя из вида lowerCamelCase в snake_case, например, параметр logMinDurationStatement из запроса к API преобразуется в log_min_duration_statement для команды CLI:

    yc managed-mysql cluster update-config <имя_кластера>
      --set log_min_duration_statement=100,<имя_параметра>=<значение>,...
    

    Managed Service for MySQL® запустит операцию по изменению настроек кластера.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Добавьте или измените в описании кластера Managed Service for MySQL® параметры настроек СУБД в блоке mysql_config:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      mysql_config = {
        <имя_настройки_MySQL®> = <значение>
        ...
      }
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL®:

  • создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
  • изменение кластера, в том числе обновление версии MySQL®, — 60 минут;
  • удаление кластера — 15 минут.

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

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.update и выполните запрос, например с помощью cURL:

    Важно

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

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "configSpec.mysqlConfig_<версия_MySQL®>",
                  "configSpec": {
                    "mysqlConfig_<версия_MySQL®>": {
                      "<настройка_1>": "<значение_1>",
                      "<настройка_2>": "<значение_2>",
                      ...
                      "<настройка_N>": "<значение_N>"
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      В данном случае передается только один параметр.

    • configSpec.mysqlConfig_<версия_MySQL®> — набор настроек MySQL®. Укажите каждую настройку на отдельной строке через запятую.

      Список версий MySQL®, доступных для параметра, см. в описании метода. Описание и возможные значения настроек см. в разделе Настройки СУБД уровня кластера.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [
                  "config_spec.mysql_config_<версия_MySQL®>"
                ]
              },
              "config_spec": {
                "mysql_config_<версия_MySQL®>": {
                  "<настройка_1>": "<значение_1>",
                  "<настройка_2>": "<значение_2>",
                  ...
                  "<настройка_N>": "<значение_N>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mysql.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      В данном случае передается только один параметр.

    • configSpec.mysqlConfig_<версия_MySQL®> — набор настроек MySQL®. Укажите каждую настройку на отдельной строке через запятую.

      Список версий MySQL®, доступных для параметра, см. в описании метода. Описание и возможные значения настроек см. в разделе Настройки СУБД уровня кластера.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Подробнее об изменении настроек MySQL® см. в разделе Вопросы и ответы.

Изменить дополнительные настройки кластераИзменить дополнительные настройки кластера

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.

  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.

  3. Измените дополнительные настройки кластера:

    • Автоматическое увеличение размера хранилища

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

      • Выберите опцию Незамедлительно при заполненности более и укажите процент от текущего размера хранилища, при достижении которого хранилище будет увеличено незамедлительно.

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

      Важно

      • Автоматическое увеличение размера хранилища не поддерживается на выделенных хостах.
      • Если выбрано увеличение размера хранилища в окно обслуживания, настройте расписание окна обслуживания.

      Подробнее об автоматическом увеличении размера хранилища.

    • Начало резервного копирования (UTC) — промежуток времени, в течение которого начинается резервное копирование кластера. Время указывается по UTC в 24-часовом формате. По умолчанию — 22:00 - 23:00 UTC.

    • Срок хранения автоматических резервных копий, дней

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

    • Окно обслуживания — настройки времени технического обслуживания:

      • Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
      • Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.

      Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.

    • Доступ из DataLens — разрешает анализировать данные из кластера в сервисе Yandex DataLens.

      Подробнее о настройке подключения см. в разделе Подключение к DataLens.

    • Доступ из WebSQL — разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL.

    • Доступ из Yandex Query — разрешает выполнять YQL-запросы к базам данных кластера из сервиса Yandex Query. Функциональность находится на стадии Preview. Значение по умолчанию — false.

    • Сбор статистики — включите эту опцию, чтобы воспользоваться инструментом Диагностика производительности в кластере.

    • Защита от удаления — управляет защитой кластера от непреднамеренного удаления.

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

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы изменить дополнительные настройки кластера:

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-mysql cluster update --help
    
  2. Выполните команду, передав список настроек, которые хотите изменить:

    yc managed-mysql cluster update <имя_или_идентификатор_кластера> \
      --backup-window-start <время_начала_резервного_копирования> \
      --backup-retain-period-days=<срок_хранения_копий> \
      --datalens-access=<true_или_false> \
      --websql-access=<true_или_false> \
      --yandexquery-access=<true_или_false> \
      --disk-size-autoscaling disk-size-limit=<максимальный_размер_хранилища_в_ГБ>,`
                             `planned-usage-threshold=<порог_для_планового_увеличения_в_процентах>,`
                             `emergency-usage-threshold=<порог_для_незамедлительного_увеличения_в_процентах> \
      --maintenance-window type=<тип_технического_обслуживания>,`
                          `day=<день_недели>,`
                          `hour=<час_дня> \
      --deletion-protection \
      --performance-diagnostics enabled=true,`
                               `sessions-sampling-interval=<интервал_сбора_сессий>,`
                               `statements-sampling-interval=<интервал_сбора_запросов>
    

Вы можете изменить следующие настройки:

  • --backup-window-start — время начала резервного копирования кластера, задается по UTC в формате HH:MM:SS. Если время не задано, резервное копирование начнется в 22:00 UTC.
  • --backup-retain-period-days — срок хранения автоматических резервных копий (в днях). Допустимые значения: от 7 до 60. Значение по умолчанию — 7.

  • --datalens-access — разрешает доступ к кластеру из DataLens. Значение по умолчанию — false. Подробнее о настройке подключения см в разделе Подключение к кластеру MySQL® из DataLens.

  • --websql-access — разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL. Значение по умолчанию — false.

  • --yandexquery-access — разрешает выполнять YQL-запросы к базам данных кластера из сервиса Yandex Query. Функциональность находится на стадии Preview. Значение по умолчанию — false.

  • --disk-size-autoscaling — настройки автоматического увеличения размера хранилища:

    • planned-usage-threshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию — 0 (автоматическое увеличение отключено).

      Допустимые значения: от 0 до 100.

    • emergency-usage-threshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию — 0 (автоматическое увеличение отключено).

      Допустимые значения: от 0 до 100.

    • disk-size-limit — максимальный размер хранилища после увеличения, в гигабайтах.

    Важно

    • Автоматическое увеличение размера хранилища не поддерживается на выделенных хостах.
    • При использовании параметра planned-usage-threshold необходимо задать окно технического обслуживания в настройке --maintenance-window.

    • Если заданы оба порога, значение emergency-usage-threshold должно быть больше planned-usage-threshold.

  • --maintenance-window — настройки времени технического обслуживания (в т. ч. для выключенных кластеров), где type — тип технического обслуживания:

    • anytime (по умолчанию) — в любое время.
    • weekly — по расписанию. Для этого значения дополнительно укажите:
      • day — день недели: MON, TUE, WED, THU, FRI, SAT или SUN.
      • hour — час дня по UTC: от 1 до 24.
  • --deletion-protection — защита кластера от непреднамеренного удаления: true или false.

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

  • performance-diagnostics — активация сбора статистики для диагностики производительности кластера. Допустимые значения параметров sessions-sampling-interval и statements-sampling-interval — от 1 до 86400 секунд.

Имя кластера можно получить со списком кластеров в каталоге.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Чтобы изменить время начала резервного копирования, добавьте к описанию кластера Managed Service for MySQL® блок backup_window_start:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      backup_window_start {
        hours   = <час>
        minutes = <минута>
      }
      ...
    }
    

    Где:

    • hours — час начала резервного копирования.
    • minutes — минута начала резервного копирования.
  3. Чтобы изменить срок хранения резервных копий, укажите в описании кластера параметр backup_retain_period_days:

      resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
        ...
        backup_retain_period_days = <срок_хранения_копий>
        ...
      }
    

    Где backup_retain_period_days — срок хранения автоматических резервных копий в днях. Допустимые значения: от 7 до 60. Значение по умолчанию — 7.

  4. Чтобы разрешить доступ из DataLens и выполнение SQL-запросов из консоли управления с помощью Yandex WebSQL, добавьте к описанию кластера блок access:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      access {
        data_lens = <true_или_false>
        web_sql   = <true_или_false>
      }
      ...
    }
    
  5. Чтобы настроить автоматическое увеличение размера хранилища, добавьте к описанию кластера блок disk_size_autoscaling:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      disk_size_autoscaling {
        disk_size_limit           = <максимальный_размер_хранилища_в_ГиБ>
        emergency_usage_threshold = <порог_для_незамедлительного_увеличения_в_процентах>
        planned_usage_threshold   = <порог_для_планового_увеличения_в_процентах>
      }
      ...
    }
    

    Где:

    • disk_size_limit — максимальный размер хранилища после увеличения, в гибибайтах.

    • emergency_usage_threshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию — 0 (автоматическое увеличение отключено).

      Допустимые значения: от 0 до 100.

    • planned_usage_threshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию — 0 (автоматическое увеличение отключено).

      Допустимые значения: от 0 до 100.

    Важно

    • Автоматическое увеличение размера хранилища не поддерживается на выделенных хостах.
    • При использовании параметра planned_usage_threshold необходимо задать окно технического обслуживания в блоке maintenance_window.

    • Если заданы оба порога, значение emergency_usage_threshold должно быть больше planned_usage_threshold.

  6. Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок maintenance_window:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      maintenance_window {
        type = <тип_технического_обслуживания>
        day  = <день_недели>
        hour = <час_дня>
      }
      ...
    }
    

    Где:

    • type — тип технического обслуживания. Принимает значения:
      • ANYTIME — в любое время.
      • WEEKLY — по расписанию.
    • day — день недели для типа WEEKLY: MON, TUE, WED, THU, FRI, SAT или SUN.
    • hour — час дня по UTC для типа WEEKLY: от 1 до 24.
  7. Чтобы включить защиту кластера от непреднамеренного удаления пользователем вашего облака, добавьте к описанию кластера поле deletion_protection со значением true:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      deletion_protection = <защитить_кластер_от_удаления>
    }
    

    Где deletion_protection — защита кластера от непреднамеренного удаления: true или false.

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

  8. Чтобы активировать сбор статистики для диагностики производительности кластера, добавьте к описанию кластера Managed Service for MySQL® блок performance_diagnostics:

    resource "yandex_mdb_mysql_cluster" "<название_кластера>" {
      ...
      performance_diagnostics {
        enabled = true
        sessions_sampling_interval = <интервал_сбора_сессий>
        statements_sampling_interval = <интервал_сбора_запросов>
      }
      ...
    }
    

    Допустимые значения параметров sessions_sampling_interval и statements_sampling_interval — от 1 до 86400 секунд.

  9. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  10. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL®:

  • создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
  • изменение кластера, в том числе обновление версии MySQL®, — 60 минут;
  • удаление кластера — 15 минут.

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

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Создайте файл body.json и добавьте в него следующее содержимое:

    Важно

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

    {
        "updateMask": "configSpec.backupWindowStart,configSpec.backupRetainPeriodDays,configSpec.access,configSpec.performanceDiagnostics,maintenanceWindow,deletionProtection",
        "configSpec": {
            "backupWindowStart": {
                "hours": "<часы>",
                "minutes": "<минуты>",
                "seconds": "<секунды>",
                "nanos": "<наносекунды>"
            },
            "backupRetainPeriodDays": "<количество_дней>",
            "access": {
                "dataLens": <разрешить_доступ_из_DataLens>,
                "webSql": <разрешить_доступ_из_WebSQL>,
                "yandexQuery": <разрешить_доступ_из_Yandex_Query>
            },
            "performanceDiagnostics": {
                "enabled": <активировать_сбор_статистики>,
                "sessionsSamplingInterval": "<интервал_сбора_сессий>",
                "statementsSamplingInterval": "<интервал_сбора_запросов>"
            },
            "diskSizeAutoscaling": {
                "plannedUsageThreshold": "<порог_для_планового_увеличения_в_процентах>",
                "emergencyUsageThreshold": "<порог_для_незамедлительного_увеличения_в_процентах>",
                "diskSizeLimit": "<максимальный_размер_хранилища_в_байтах>"
            }
        },
        "maintenanceWindow": {
            "weeklyMaintenanceWindow": {
                "day": "<день_недели>",
                "hour": "<час_дня>"
            }
        },
        "deletionProtection": <защитить_кластер_от_удаления>
    }
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

    • configSpec — настройки кластера:

      • backupWindowStart — настройки окна резервного копирования.

        В параметре укажите время, когда начинать резервное копирование:

        • hours — от 0 до 23 часов;
        • minutes — от 0 до 59 минут;
        • seconds — от 0 до 59 секунд;
        • nanos — от 0 до 999999999 наносекунд.
      • backupRetainPeriodDays — сколько дней хранить резервную копию кластера: от 7 до 60 дней.

      • access — настройки доступа к кластеру из сервисов Yandex Cloud:

        • dataLens — доступ из DataLens. Подробнее о настройке подключения см. в разделе Подключение из DataLens.
        • webSql — выполнение SQL-запросов к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL.
        • yandexQuery — выполнение YQL-запросов к базам данных кластера из сервиса Yandex Query. Функциональность находится на стадии Preview.

        Возможные значения настроек: true или false.

      • performanceDiagnostics — настройки для сбора статистики:

        • enabled — активация сбора статистики: true или false;
        • sessionsSamplingInterval — интервал сбора сессий: от 1 до 86400 секунд;
        • statementsSamplingInterval — интервал сбора запросов: от 1 до 86400 секунд.
      • diskSizeAutoscaling — настройки автоматического увеличения размера хранилища:

        • plannedUsageThreshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию — 0 (автоматическое увеличение отключено).

          Допустимые значения: от 0 до 100.

        • emergencyUsageThreshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию — 0 (автоматическое увеличение отключено).

          Допустимые значения: от 0 до 100.

        • diskSizeLimit — максимальный размер хранилища после увеличения, в байтах.

        Важно

        • Автоматическое увеличение размера хранилища не поддерживается на выделенных хостах.
        • При использовании параметра plannedUsageThreshold необходимо задать окно технического обслуживания в настройке maintenanceWindow.

        • Если заданы оба порога, значение emergencyUsageThreshold должно быть больше plannedUsageThreshold.

    • maintenanceWindow — настройки окна технического обслуживания (в т. ч. для выключенных кластеров). Передайте один из параметров:

      • anytime (по умолчанию) — техническое обслуживание происходит в любое время.

      • weeklyMaintenanceWindow — техническое обслуживание происходит по расписанию:

        • day — день недели в формате DDD. Допустимые значения: MON, TUE, WED, THU, FRI, SAT, SUN.
        • hour — час дня по UTC в формате HH. Допустимые значения: от 1 до 24.
    • deletionProtection — защита кластера от непреднамеренного удаления: true или false.

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

  3. Воспользуйтесь методом Cluster.update и выполните запрос, например с помощью cURL:

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<идентификатор_кластера>' \
        --data "@body.json"
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Создайте файл body.json и добавьте в него следующее содержимое:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    {
        "cluster_id": "<идентификатор_кластера>",
        "update_mask": {
            "paths": [
                "config_spec.backup_window_start",
                "config_spec.backup_retain_period_days",
                "config_spec.access",
                "config_spec.performance_diagnostics",
                "maintenance_window",
                "deletion_protection"
            ]
        },
        "config_spec": {
            "backup_window_start": {
                "hours": "<часы>",
                "minutes": "<минуты>",
                "seconds": "<секунды>",
                "nanos": "<наносекунды>"
            },
            "backup_retain_period_days": "<количество_дней>",
            "access": {
                "data_lens": <разрешить_доступ_из_DataLens>,
                "web_sql": <разрешить_доступ_из_WebSQL>,
                "yandex_query": <разрешить_доступ_из_Yandex_Query>
            },
            "performance_diagnostics": {
                "enabled": <активировать_сбор_статистики>,
                "sessions_sampling_interval": "<интервал_сбора_сессий>",
                "statements_sampling_interval": "<интервал_сбора_запросов>"
            },
            "disk_size_autoscaling": {
                "planned_usage_threshold": "<порог_для_планового_увеличения_в_процентах>",
                "emergency_usage_threshold": "<порог_для_незамедлительного_увеличения_в_процентах>",
                "disk_size_limit": "<максимальный_размер_хранилища_в_байтах>"
            }
        },
        "maintenance_window": {
            "weekly_maintenance_window": {
                "day": "<день_недели>",
                "hour": "<час_дня>"
            }
        },
        "deletion_protection": <защитить_кластер_от_удаления>
    }
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

    • config_spec — настройки кластера:

      • backup_window_start — настройки окна резервного копирования.

        В параметре укажите время, когда начинать резервное копирование:

        • hours — от 0 до 23 часов;
        • minutes — от 0 до 59 минут;
        • seconds — от 0 до 59 секунд;
        • nanos — от 0 до 999999999 наносекунд.
      • backup_retain_period_days — сколько дней хранить резервную копию кластера: от 7 до 60 дней.

      • access — настройки доступа к кластеру из сервисов Yandex Cloud:

        • data_lens — доступ из DataLens. Подробнее о настройке подключения см. в разделе Подключение из DataLens.
        • web_sql — выполнение SQL-запросов к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL.
        • yandex_query — выполнение YQL-запросов к базам данных кластера из сервиса Yandex Query. Функциональность находится на стадии Preview.

        Возможные значения настроек: true или false.

      • performance_diagnostics — настройки для сбора статистики:

        • enabled — активация сбора статистики: true или false;
        • sessions_sampling_interval — интервал сбора сессий: от 1 до 86400 секунд;
        • statements_sampling_interval — интервал сбора запросов: от 1 до 86400 секунд.
      • disk_size_autoscaling — настройки автоматического увеличения размера хранилища:

        • planned_usage_threshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию — 0 (автоматическое увеличение отключено).

          Допустимые значения: от 0 до 100.

        • emergency_usage_threshold (опционально) — порог заполнения хранилища в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию — 0 (автоматическое увеличение отключено).

          Допустимые значения: от 0 до 100.

        • disk_size_limit — максимальный размер хранилища после увеличения, в байтах.

        Важно

        • Автоматическое увеличение размера хранилища не поддерживается на выделенных хостах.
        • При использовании параметра planned_usage_threshold необходимо задать окно технического обслуживания в настройке maintenance_window.

        • Если заданы оба порога, значение emergency_usage_threshold должно быть больше planned_usage_threshold.

    • maintenance_window — настройки окна технического обслуживания (в т. ч. для выключенных кластеров). Передайте один из параметров:

      • anytime (по умолчанию) — техническое обслуживание происходит в любое время.

      • weekly_maintenance_window — техническое обслуживание происходит по расписанию:

        • day — день недели в формате DDD. Допустимые значения: MON, TUE, WED, THU, FRI, SAT, SUN.
        • hour — час дня по UTC в формате HH. Допустимые значения: от 1 до 24.
    • deletion_protection — защита кластера от непреднамеренного удаления: true или false.

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

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d @ \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mysql.v1.ClusterService.Update \
        < body.json
    
  5. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Connection ManagerConnection Manager

Если в кластере не включена интеграция с сервисом Connection Manager, включите опцию Использовать Connection Manager. Она доступна только в консоли управления.

Для каждого пользователя БД будут созданы:

  • Подключение Connection Manager с информацией о соединении с БД.

  • Секрет Yandex Lockbox, в котором хранится пароль пользователя. Хранение паролей в сервисе Yandex Lockbox обеспечивает их безопасность.

    Подключение и секрет создаются для каждого нового пользователя БД. Чтобы увидеть все подключения, на странице кластера выберите вкладку Подключения.

    Для просмотра информации о подключении требуется роль connection-manager.viewer. Вы можете настраивать доступ к подключениям в Connection Manager.

    Примечание

    Использование сервиса Connection Manager и секретов, созданных с его помощью, не тарифицируется.

Вручную переключить хост-мастерВручную переключить хост-мастер

В высокодоступном кластере Managed Service for MySQL® из нескольких хостов вы можете переключить роль мастера с текущего хоста-мастера на одну из реплик. После этой операции текущий хост-мастер станет хостом-репликой для нового мастера.

Особенности переключения мастера в Managed Service for MySQL®:

  • Нельзя сделать мастером каскадную реплику.
  • Если явно не указать имя хоста-реплики, мастер переключится на реплику с наибольшим приоритетом или наименьшим отставанием.

Подробнее см. в разделе Репликация.

Чтобы переключить мастер:

Консоль управления
CLI
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Хосты.
  3. Нажмите кнопку Переключить мастер.
    • Чтобы переключить мастер на одну из реплик, оставьте включенной опцию Выбрать хост-мастер автоматически.
    • Чтобы переключить мастер на конкретную реплику, выключите опцию Выбрать хост-мастер автоматически и затем выберите нужную реплику из выпадающего списка.
  4. Нажмите кнопку Переключить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Выполните команду:

yc managed-mysql cluster start-failover <имя_или_идентификатор_кластера> \
    --host <имя_хоста-реплики>

Имя хоста-реплики можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.StartFailover и выполните запрос, например с помощью cURL:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<идентификатор_кластера>:startFailover' \
      --data '{
                "hostName": "<FQDN_хоста>"
              }'
    

    Где hostName — FQDN реплики, которая становится мастером.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService.StartFailover и выполните запрос, например с помощью gRPCurl:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "host_name": "<FQDN_хоста>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mysql.v1.ClusterService.StartFailover
    

    Где host_name — FQDN реплики, которая становится мастером.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Переместить кластерПереместить кластер

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
  2. Нажмите на значок справа в строке кластера, который вы хотите переместить.
  3. Выберите пункт Переместить.
  4. Выберите каталог, в который вы хотите переместить кластер.
  5. Нажмите кнопку Переместить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы переместить кластер:

  1. Посмотрите описание команды CLI для перемещения кластера:

    yc managed-mysql cluster move --help
    
  2. Укажите каталог назначения в команде перемещения кластера:

    yc managed-mysql cluster move <идентификатор_кластера> \
       --destination-folder-name=<имя_каталога_назначения>
    

    Идентификатор кластера можно получить со списком кластеров в каталоге.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Измените или добавьте в описании кластера Managed Service for MySQL® значение параметра folder_id:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      folder_id = "<идентификатор_каталога_назначения>"
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL®:

  • создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
  • изменение кластера, в том числе обновление версии MySQL®, — 60 минут;
  • удаление кластера — 15 минут.

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

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.move и выполните запрос, например с помощью cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<идентификатор_кластера>:move' \
        --data '{
                  "destinationFolderId": "<идентификатор_каталога>"
                }'
    

    Где destinationFolderId — идентификатор каталога, куда перемещается кластер. Идентификатор можно получить со списком каталогов в облаке.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService/Move и выполните запрос, например с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "destination_folder_id": "<идентификатор_каталога>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mysql.v1.ClusterService.Move
    

    Где destination_folder_id — идентификатор каталога, куда перемещается кластер. Идентификатор можно получить со списком каталогов в облаке.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Изменить группы безопасностиИзменить группы безопасности

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.
  3. В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы изменить список групп безопасности для кластера:

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-mysql cluster update --help
    
  2. Укажите нужные группы безопасности в команде изменения кластера:

    yc managed-mysql cluster update <имя_или_идентификатор_кластера> \
      --security-group-ids <список_идентификаторов_групп_безопасности>
    
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Измените в описании кластера Managed Service for MySQL® значение параметра security_group_ids:

    resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
      ...
      security_group_ids = [<список_идентификаторов_групп_безопасности>]
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL®:

  • создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
  • изменение кластера, в том числе обновление версии MySQL®, — 60 минут;
  • удаление кластера — 15 минут.

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

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mysql_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.update и выполните запрос, например с помощью cURL:

    Важно

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

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "securityGroupIds",
                    "securityGroupIds": [
                      "<идентификатор_группы_безопасности_1>",
                      "<идентификатор_группы_безопасности_2>",
                      ...
                      "<идентификатор_группы_безопасности_N>"
                    ]
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      В данном случае передается только один параметр.

    • securityGroupIds — новый список групп безопасности, представленный в виде элементов массива.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [
                  "security_group_ids"
                ]
              },
              "security_group_ids": [
                "<идентификатор_группы_безопасности_1>",
                "<идентификатор_группы_безопасности_2>",
                ...
                "<идентификатор_группы_безопасности_N>"
              ]
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mysql.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      В данном случае передается только один параметр.

    • security_group_ids — новый список групп безопасности, представленный в виде элементов массива.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Важно

Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.

Была ли статья полезна?

Предыдущая
Создание кластера
Следующая
Остановка и запуск кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»