Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for MySQL
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • SQL-запросы в консоли управления
    • Изменение кластера
    • Подключение к DataLens
    • Управление хостами MySQL
    • Управление базами данных
    • Настройка базы данных
    • Управление пользователями
    • Назначение привилегий и ролей
    • Управление резервными копиями
    • Удаление кластера
    • Миграция базы данных в Yandex.Cloud
    • Мониторинг состояния кластера и хостов
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for MySQL
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
    • Репликация
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • BackupService
      • ClusterService
      • DatabaseService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST
      • Обзор
      • Backup
        • Обзор
        • get
        • list
      • Cluster
        • Обзор
        • addHosts
        • backup
        • create
        • delete
        • deleteHosts
        • get
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • restore
        • start
        • stop
        • update
      • Database
        • Обзор
        • create
        • delete
        • get
        • list
      • ResourcePreset
        • Обзор
        • get
        • list
      • User
        • Обзор
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Обзор
        • get
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о MySQL
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Изменение кластера

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

  • Изменить класс хостов
  • Увеличить размер хранилища
  • Изменить настройки MySQL
  • Изменить дополнительные настройки кластера
  • Изменить группы безопасности

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

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

  • Увеличить размер хранилища (доступно только для сетевого хранилища, network-hdd и network-ssd).

  • Настроить серверы MySQL.

    Важно

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

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

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

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

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

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

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

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

    $ 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-c                  |       |          |
    | ...                                                           |
    +-----------+--------------------------------+-------+----------+
    
  3. Укажите нужный класс в команде изменения кластера:

    $ yc managed-mysql cluster update <имя кластера>
         --resource-preset <ID класса>
    

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

Изменить класс хостов кластера можно с помощью метода API update: передайте в запросе нужное значение в параметре configSpec.resources.resourcePresetId.

Список поддерживаемых значений запрашивайте методом list для ресурсов ResourcePreset.

Увеличить размер хранилища

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

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

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

    $ yc managed-mysql cluster update --help
    
  2. Проверьте, что в облаке хватает квоты на увеличение хранилища: откройте страницу Квоты для вашего облака и проверьте, что в секции Yandex Managed Service for MySQL не исчерпано место в строке space.

  3. Проверьте, что нужный кластер использует именно сетевое хранилище (увеличить размер локального хранилища пока невозможно). Для этого запросите информацию о кластере и найдите поле disk_type_id — его значение должно быть network-hdd или network-ssd:

    $ yc managed-mysql cluster get <имя кластера>
    
    id: c7qkvr3u78qiopj3u4k2
    folder_id: b1g0ftj57rrjk9thribv
    ...
    config:
      ...
      resources:
        resource_preset_id: s1.micro
        disk_size: "10737418240"
        disk_type_id: network-ssd
    ...
    
  4. Укажите нужный объем хранилища в команде изменения кластера (должен быть не меньше, чем значение disk_size в свойствах кластера):

    $ yc managed-mysql cluster update <имя кластера>
         --disk-size <размер хранилища в ГБ>
    

    Если все условия выполнены, Managed Service for MySQL запустит операцию по увеличению объема хранилища.

Изменить размер хранилища для кластера можно с помощью метода API update: передайте в запросе нужные значения в параметре configSpec.resources.diskSize.

Проверьте, что в облаке хватает квоты на увеличение хранилища: откройте страницу Квоты для вашего облака и проверьте, что в секции Yandex Managed Service for MySQL не исчерпано место в строке space.

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

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

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

  3. Измените настройки MySQL, нажав на кнопку Настроить в блоке Настройки СУБД:

    • Audit log — управляет записью лога аудита MySQL.

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

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

    • Auto increment — задает интервал между значениями столбцов с атрибутом AUTO_INCREMENT.

      Минимальное значение — 1, максимальное значение — 65535, по умолчанию — 1.

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

    • Auto increment offset — задает начальное значение для столбцов с атрибутом AUTO_INCREMENT. Эта настройка игнорируется, если ее значение больше значения настройки Auto increment.

      Минимальное значение — 1, максимальное значение — 65535, по умолчанию — 1.

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

    • Binlog cache size — размер кеша (в байтах) для хранения изменений бинарного лога во время транзакции.

      Минимальное значение — 4096 (4 КБ), максимальное значение — 67108864 (64 МБ), по умолчанию — 32768 (32 КБ).

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

    • Binlog group commit sync delay — задержка перед синхронизацией бинарного лога с диском при операции COMMIT для бинарного лога. Чтобы синхронизировать с диском больше транзакций за раз, задайте задержку больше нуля. Это снизит общее время, затрачиваемое на операцию COMMIT для группы транзакций.

      Минимальное значение — 0 (нет задержки), максимальное значение — 1000000 (одна секунда), по умолчанию — 0.

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

    • Binlog row image — способ записи образов строк (row images) в бинарный лог при построчной репликации (row-based replication):

      • FULL (по умолчанию) — все столбцы записываются как в образ «до», так и в образ «после»;
      • MINIMAL — в образ «до» записываются только столбцы, требуемые для идентификации строк, которые нужно изменить; в образ «после» записываются только столбцы, для которых было задано значение с помощью SQL-выражения или операции автоинкремента.
      • NOBLOB — все столбцы записываются в образы «до» и «после» (как в способе FULL), за исключением столбцов BLOB и TEXT, которые либо не изменились, либо не требуются для идентификации строк.

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

    • Binlog rows query log events — управляет записью информационных событий (например, событий лога запросов) в бинарный лог.

      По умолчанию запись событий в бинарный лог выключена.

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

    • Character set server — кодировка, которую сервер MySQL использует при работе с данными и обмене информацией с клиентами MySQL. Выбор кодировки влияет на работу SQL-функций для манипуляций со строками и другую функциональность.

      По умолчанию: utf8mb4.

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

    • Collation server — алгоритм сравнения символов (collation), который сервер MySQL использует при работе с данными и обмене информацией с клиентами MySQL. Выбор алгоритма влияет на работу SQL-функций для сортировки, манипуляций со строками и другую функциональность.

      По умолчанию: utf8mb4_0900_ai_ci.

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

    • Default authentication plugin — плагин аутентификации, используемый в кластере Managed Service for MySQL:

      • mysql_native_password — метод аутентификации, который использовался в MySQL до внедрения плагинов аутентификации;
      • sha256_password — аутентификация с использованием алгоритма хэширования SHA-256 для паролей;
      • caching_sha2_password (по умолчанию) — аналогичен sha256_password, использует кеширование на стороне сервера для лучшей производительности и предоставляет некоторые дополнительные возможности.

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

    • Default time zone — часовой пояс сервера.

      По умолчанию: Europe/Moscow.

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

    • Explicit defaults for timestamp — управляет нестандартными значениями по умолчанию и обработкой NULL в столбцах TIMESTAMP.

      По умолчанию настройка включена (нестандартное поведение запрещено).

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

    • General log — управляет записью основного лога запросов MySQL.

      По умолчанию запись основного лога запросов выключена.

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

    • Group concat max len — максимальная длина (в байтах) результата функции GROUP_CONCAT().

      Минимальное значение — 4, максимальное значение — 33554432 (32 МБ), по умолчанию — 1024 (1 КБ).

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

    • Innodb adaptive hash index — управляет адаптивным хэш-индексом InnoDB. Для некоторых видов нагрузки на базу данных может быть полезно отключение этого индекса. Документация MySQL рекомендует провести нагрузочное тестирование на реальных данных, чтобы определить необходимость включения или отключения адаптивного хэш-индекса.

      По умолчанию адаптивный хэш-индекс включен.

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

    • Innodb buffer pool size — размер буфера InnoDB (в байтах), который используется для кеширования данных таблиц и индексов. Буфер большого размера приводит к снижению количества операций ввода-вывода при многократном обращении к одним и тем же данным в таблице.

      Минимальное значение — 5242880 (5 МБ), по умолчанию — 50% от общего размера RAM хоста кластера Managed Service for MySQL.

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

    • Innodb flush log at trx commit — определяет поведение MySQL для операций подтверждения транзакций (COMMIT):

      • 0 — логи пишутся и сбрасываются (flush) на диск раз в секунду. В случае сбоя данные транзакций, логи для которых не были сброшены на диск, могут быть утеряны.
      • 1 (по умолчанию) — строгое следование принципам ACID. Логи пишутся и сбрасываются на диск при подтверждении каждой транзакции.
      • 2 — логи пишутся при подтверждении каждой транзакции, но сбрасываются на диск раз в секунду. В случае сбоя данные транзакций, логи для которых не были сброшены на диск, могут быть утеряны.

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

    • Innodb io capacity — количество операций ввода-вывода в секунду (IOPS), доступное всем фоновым операциям InnoDB. Эта настройка влияет на процессы, использующие ввод-вывод (например, сброс данных на диск) и может использоваться для ограничения количества операций ввода-вывода.

      Минимальное значение — 100, максимальное значение — 100000, по умолчанию — 200.

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

    • Innodb io capacity max — максимальное количество операций ввода-вывода в секунду (IOPS), доступное всем фоновым операциям InnoDB. Если хост не успевает сбрасывать данные на диск, то InnoDB может начать сбрасывать данные на диск чаще, чем установленный настройкой Innodb io capacity порог IOPS, не превышая заданного максимального ограничения на IOPS.

      Минимальное значение — 100, максимальное значение — 100000, по умолчанию — 2000.

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

    • Innodb lock wait timeout — максимальное время ожидания блокировки строки (в секундах) для транзакции InnoDB. Если время ожидания истекло, то возвращается ошибка, и текущее выражение SQL откатывается (вся транзакция не откатывается).

      Значение настройки можно уменьшить для OLTP-приложений и приложений, которые взаимодействуют с пользователем в интерактивном режиме. Значение настройки можно увеличить, если в приложении есть длительные операции, например, ожидающие завершения больших запросов INSERT и UPDATE в процессе трансформации большого массива данных из хранилища данных.

      Минимальное значение — 1, максимальное значение — 28800 (480 минут или 8 часов), по умолчанию — 50.

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

    • Innodb log buffer size — размер буфера (в байтах), который InnoDB использует при записи логов на диск. Большой буфер позволяет выполнять большие транзакции без записи лога на диск до подтверждения транзакции, что позволяет экономить ресурсы ввода-вывода.

      Минимальное значение — 1048576 (1 МБ), максимальное значение — 268435456 (256 МБ), по умолчанию — 16777216 (16 МБ).

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

    • Innodb log file size — размер одного файла redo-логов InnnoDB (в байтах). Чем больше значение, тем реже требуется сбрасывать контрольные точки (checkpoints) на диск, что позволяет экономить ресурсы ввода-вывода. Однако большой размер лог-файлов приводит к более медленному восстановлению после сбоев.

      Минимальное значение — 268435456 (256 МБ), максимальное значение — 4294967296 (4 ГБ), по умолчанию — 268435456 (256 МБ).

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

    • Innodb numa interleave — управляет политикой NUMA Interleave при выделении памяти для буфера InnoDB.

      По умолчанию эта политика выключена.

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

    • Innodb print all deadlocks — управляет выводом всей информации о взаимных блокировках в лог ошибок. Если эта настройка выключена, то при выполнении команды SHOW ENGINE INNODB STATUS будет выведена информация только о последней блокировке.

      По умолчанию вывод всей информации о взаимных блокировках выключен.

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

    • Innodb purge threads — количество потоков ввода-вывода InnoDB, используемых для операций очистки (purge). Увеличение количества этих потоков полезно в системах, где операции манипуляции с данными (INSERT, UPDATE, DELETE) выполняются над несколькими таблицами.

      Минимальное значение — 1, максимальное значение — 16, по умолчанию — 4.

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

    • Innodb read io threads — количество потоков ввода-вывода InnoDB, используемых для операций чтения.

      Минимальное значение — 1, максимальное значение — 16, по умолчанию — 4.

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

    • Innodb temp data file max size — максимальный размер временного табличного пространства InnoDB (в байтах).

      Минимальное значение — 0 (не использовать временное табличное простанство), максимальное значение — 107374182400 (100 ГБ), по умолчанию — 0.

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

    • Innodb thread concurrency — максимальное число потоков, которые могут исполняться внутри InnoDB.

      Минимальное значение — 0 (ограничения отсутствуют), максимальное значение — 1000, по умолчанию — 0.

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

    • Innodb write io threads — количество потоков ввода-вывода InnoDB, используемых для операций записи.

      Минимальное значение — 1, максимальное значение — 16, по умолчанию — 4.

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

    • Join buffer size — минимальный размер буфера (в байтах), который используется для:

      • сканирования простого индекса;
      • сканирования индекса диапазона;
      • полного сканирования таблиц (для операций JOIN, не использующих индексы).

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

      Минимальное значение — 1024 (1 КБ), максимальное значение — 16777216 (16 МБ), по умолчанию — 262144 (256 КБ).

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

    • Long query time — время обработки запроса (в секундах), при превышении которого запрос будет считаться медленным. Не рекомендуется задавать маленькие значения для этой настройки — это может привести к ошибочному расцениванию большинства запросов как медленных.

      Минимальное значение — 0, максимальное значение — 3600 (1 час), по умолчанию — 0.

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

    • Max allowed packet — максимальный размер (в байтах) одного пакета, строки или параметра, отправляемого функцией mysql_stmt_send_long_data().

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

      Минимальное значение — 1024 (1 КБ), максимальное значение — 134217728 (128 МБ), по умолчанию — 16777216 (16 МБ).

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

    • Max connections — максимальное количество одновременных подключений, которые может принять хост MySQL.

      Минимальное значение — 10, максимальное значение — 10000, по умолчанию — 100 × <количество vCPU на хосте> × <доля vCPU на хосте>, но не меньше 100.

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

    • Max heap table size — максимальный размер пользовательских MEMORY-таблиц (в байтах). Изменение значения этой настройки не влияет на уже существующие MEMORY-таблицы. Эта настройка также используется совместно с Tmp table size для ограничения размера внутренних таблиц, хранящихся в оперативной памяти.

      Минимальное значение — 16384 (16 КБ), максимальное значение — 134217728 (128 МБ), по умолчанию — 16777216 (16 МБ).

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

    • Net read timeout — максимальное время ожидания чтения (в секундах) при передаче данных по сети.

      Минимальное значение — 1, максимальное значение — 1200 (20 минут), по умолчанию — 30.

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

    • Net write timeout — максимальное время ожидания записи (в секундах) при передаче данных по сети.

      Минимальное значение — 1, максимальное значение — 1200 (20 минут), по умолчанию — 60.

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

    • Regexp time limit — ограничение на количество шагов при поиске соответствия (match) с помощью REGEXP_LIKE() и других подобных функций для работы с регулярными выражениями. Таким образом, эта настройка влияет на время выполнения косвенно.

      Минимальное значение — 0 (нет ограничений), максимальное значение — 1048576. По умолчанию: 0.

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

    • Rpl semi sync master wait for slave count — количество реплик, от которых мастер ожидает ответа при полусинхронной репликации, прежде чем подтвердить транзакцию (COMMIT).

      Минимальное значение — 1, максимальное значение — 2, по умолчанию — 1.

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

    • Slave parallel type — политика для определения того, какие транзакции могут выполняться параллельно на реплике при включенной многопоточной репликации (такая репликация включается настройкой Slave parallel workers):

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

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

    • Slave parallel workers — устанавливает количество потоков для параллельного выполнения транзакций репликации на реплике.

      Минимальное значение — 0 (многопоточная репликация на реплике выключена), максимальное значение — 64, по умолчанию — 0.

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

    • Sort buffer size — размер буфера (в байтах), который используется для сортировок в памяти.

      Минимальное значение — 32768 (32 КБ), максимальное значение — 16777216 (16 МБ), по умолчанию — 262144 (256 КБ).

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

    • Sql mode — режимы SQL для сервера MySQL:

      • ALLOW_INVALID_DATES — не выполнять полную проверку корректности дат. В этом режиме проверяется, что месяц находится в диапазоне от 1 до 12, а день в диапазоне от 1 до 31. Некорректные даты (например, 2004-04-31) преобразуются в 0000-00-00 с выдачей предупреждения (warning).

      • ANSI_QUOTES — воспринимать кавычки " как кавычки для идентификаторов, но не для строк. В этом режиме для строк следует использовать одинарные кавычки ' вместо двойных кавычек ".

      • ERROR_FOR_DIVISION_BY_ZERO — операция деления на ноль возвращает NULL с выдачей предупреждения (warning). Этот режим SQL является устаревшим (deprecated).

      • HIGH_NOT_PRECEDENCE — повышает приоритет операции отрицания (NOT) при разборе логических выражений. В этом режиме выражение NOT a BETWEEN b AND c будет интерпретировано как (NOT a) BETWEEN b AND c вместо NOT (a BETWEEN b AND c).

      • IGNORE_SPACE — разрешает пробелы между именем функции и открывающей скобкой (. Это приводит к тому, что имена встроенных функций интерпретируются как ключевые слова. Идентификаторы объектов, которые совпадают с именами таких функций, должны быть окружены кавычками.

      • NO_AUTO_VALUE_ON_ZERO — только вставка NULL в столбец с атрибутом AUTO_INCREMENT приводит к генерации нового значения для столбца. Обычно новое значение генерируется при вставке 0 или NULL, поэтому этот режим полезен, если в таком столбце требуется явно хранить значение 0.

      • NO_BACKSLASH_ESCAPES — выключает использование обратного слеша \ в качестве escape-символа. Обратный слеш в этом режиме воспринимается как обычный символ.

      • NO_DIR_IN_CREATE — директивы INDEX DIRECTORY и DATA DIRECTORY игнорируются при создании таблицы.

      • NO_ENGINE_SUBSTITUTION — не подставлять движок по умолчанию автоматически в случае недоступности движка, указанного в CREATE TABLE или ALTER TABLE, и выдать соответствующую ошибку.

      • NO_UNSIGNED_SUBTRACTION — разрешен отрицательный результат при вычитании целых чисел, одно из которых беззнаковое (unsigned).

      • NO_ZERO_DATE — влияет на использование даты 0000-00-00:

        • Если strict SQL mode выключен: использование даты 0000-00-00 допустимо, вставка такой даты приведет к выдаче предупреждения (warning).
        • Если strict SQL mode включен: использование даты 0000-00-00 недопустимо, попытка вставки такой даты приведет к ошибке.

        Этот режим SQL является устаревшим (deprecated).

      • NO_ZERO_IN_DATE — влияет на использование дат с нулевыми месяцем или днем:

        • Если strict SQL mode выключен: даты с нулевыми месяцем или днем вставляются в виде 0000-00-00 с выдачей предупреждения (warning).
        • Если strict SQL mode включен: использование даты с нулевыми месяцам или днем недопустимо, попытка вставки такой даты приведет к ошибке.

        Этот режим SQL является устаревшим (deprecated).

        См. также: NO_ZERO_DATE.

      • ONLY_FULL_GROUP_BY — запрещает выполнение запросов, в которых SELECT, HAVING или ORDER BY ссылаются на неагрегированные столбцы, которые не упомянуты в GROUP BY (поведение в стиле SQL-92).

      • PAD_CHAR_TO_FULL_LENGTH — выравнивать строки в столбцах CHAR пробелами до полной длины. Это не распространяется на столбцы VARCHAR.

      • PIPES_AS_CONCAT — воспринимать || как оператор конкатенации (эквивалент CONCAT()), а не синоним оператора OR.

      • REAL_AS_FLOAT — воспринимать REAL как синоним для FLOAT (по умолчанию MySQL воспринимает REAL как синоним для DOUBLE).

      • STRICT_ALL_TABLES — включить строгий режим (strict SQL mode) для всех движков.

      • STRICT_TRANS_TABLES — включить строгий режим (strict SQL mode) для всех транзакционных движков и, если возможно, для нетранзакционных движков.

      • TIME_TRUNCATE_FRACTIONAL — включает обрезку дробной части при вставке значений TIME, DATE или TIMESTAMP в столбец, у которого меньшее число знаков в дробной части (по умолчанию MySQL округляет значение до нужного количества знаков, а не обрезает).

      • ANSI — комбинация режимов:

        • REAL_AS_FLOAT;
        • PIPES_AS_CONCAT;
        • ANSI_QUOTES;
        • IGNORE_SPACE;
        • ONLY_FULL_GROUP_BY.
      • TRADITIONAL — комбинация режимов:

        • STRICT_ALL_TABLES;
        • STRICT_TRANS_TABLES;
        • NO_ZERO_DATE;
        • NO_ZERO_IN_DATE;
        • ERROR_FOR_DIVISION_BY_ZERO;
        • NO_ENGINE_SUBSTITUTION;

      Можно выбрать несколько режимов из списка или полностью выключить все настройки SQL Mode.

      По умолчанию используется следующий набор режимов SQL:

      • ERROR_FOR_DIVISION_BY_ZERO;
      • NO_ENGINE_SUBSTITUTION;
      • NO_ZERO_DATE;
      • NO_ZERO_IN_DATE;
      • ONLY_FULL_GROUP_BY;
      • STRICT_TRANS_TABLES.

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

    • Sync binlog — частота синхронизации бинарного лога с диском:

      • 0 — синхронизация отключена, MySQL полагается на операционную систему, которая периодически сбрасывает (flush) содержимое бинарного лога на диск, как для любого другого файла. Этот способ обеспечивает максимальную производительность. Данные могут быть утеряны в случае сбоя питания или операционной системы: транзакции могут быть подтверждены, но еще не синхронизированы с бинарным логом.
      • 1 — бинарный лог синхронизируется с диском перед подтверждением транзакций. Это наиболее безопасный способ, который, однако, может отрицательно влиять на производительность из-за большого количества операций записи. В случае сбоя питания или операционной системы транзакции, не попавшие в бинарный лог, находятся в состоянии подготовки (prepared state). Это позволяет автоматически восстановиться после сбоя и откатить (rollback) транзакции. Гарантируется, что ни одна транзакция из бинарного лога не будет утеряна.
      • N — бинарный лог синхронизируется с диском после сбора N групп коммита (commit groups) для бинарного лога. В случае сбоя питания или операционной системы транзакции могут быть подтверждены, но еще не синхронизированы с бинарным логом. Этот способ может отрицательно влиять на производительность из-за большого количества операций записи. Чем выше значение N, тем выше и производительность, и риск потери данных.

      Минимальное значение — 0, максимальное значение — 4096, по умолчанию — 1.

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

    • Table definition cache — количество определений таблиц, которые можно поместить в соответствующий кеш. Если в базе данных большое количество таблиц, увеличьте значение этой настройки, чтобы повысить скорость открытия таблиц.

      Минимальное значение — 400, максимальное значение — 524288, по умолчанию — 2000.

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

    • Table open cache — размер кеша открытых таблиц для всех потоков. Если значение переменной Opened tables велико и вы редко используете FLUSH_TABLES, увеличьте значение настройки.

      Увеличение значения этой настройки требует увеличения количества файловых дескрипторов для сервера MySQL.

      Минимальное значение — 400, максимальное значение — 524288, по умолчанию — 4000.

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

    • Table open cache instances — для повышения масштабируемости кеш открытых таблиц может быть разбит на более мелкие сегменты. Эта настройка задает количество таких сегментов.

      Минимальное значение — 1, максимальное значение — 32, по умолчанию — 16.

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

    • Thread cache size — количество потоков, которые кешируются для обработки новых сетевых соединений. При установке нового подключения сначала используются потоки из кеша, а потом создаются новые. Увеличьте значение этой настройки, чтобы повысить производительность в случае, когда устанавливается большое количество новых соединений.

      Минимальное значение — 10, максимальное значение — 10000, по умолчанию — 10.

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

    • Thread stack — размер стека (в байтах) для каждого потока. Значение по умолчанию достаточно велико, чтобы обеспечить нормальную работу MySQL. Слишком маленькое значение настройки ограничивает сложность SQL-выражений, глубину рекурсии для хранимых процедур и другие параметры, связанные с потреблением памяти.

      Минимальное значение — 131072 (128 КБ), максимальное значение — 16777216 (16 МБ), по умолчанию — 196608 (192 КБ).

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

    • Tmp table size — максимальный размер временной таблицы в памяти (в байтах). При превышении этого размера таблица будет помещена на диск. Эта настройка не влияет на пользовательские MEMORY-таблицы. Увеличьте значение настройки, если вы выполняете много сложных запросов GROUP BY и хосты имеют достаточно оперативной памяти.

      Минимальное значение — 1024 (1 КБ), максимальное значение — 134217728 (128 МБ), по умолчанию — 16777216 (16 МБ).

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

    • Transaction isolation — уровень изоляции транзакций по умолчанию:

      • READ-COMMITTED — запрос видит только те строки, которые были зафиксированы до начала его выполнения.
      • REPEATABLE-READ — все запросы в текущей транзакции видят только те строки, которые были зафиксированы перед первым выполненным в этой транзакции запросом на выборку или изменение данных.
      • SERIALIZABLE — уровень аналогичен REPEATABLE-READ, за исключением того, что InnoDB неявно конвертирует SELECT в SELECT ... FOR SHARE, если autocommit выключен. Если autocommit включен, то SELECT находится в своей собственной транзакции в режиме read only и может быть сериализован.

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

  4. Нажмите кнопку Сохранить.

  5. Нажмите кнопку Сохранить изменения.

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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 запустит операцию по изменению настроек кластера.

Изменить настройки СУБД для кластера можно с помощью метода API update: передайте в запросе нужные значения в параметре configSpec.mysql_config_5_7.

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

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

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

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

    • Начало резервного копирования (UTC) — время по UTC, когда требуется начать резервное копирование кластера (в 24-часовом формате). Если время не задано, резервное копирование начнется в 22:00 UTC.

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

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

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

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

    • Доступ из консоли управления — включите эту опцию, чтобы получить возможность выполнять SQL-запросы к базам кластера из консоли управления Yandex.Cloud.

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

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

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

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

    yc managed-mysql cluster update <имя кластера> \
        --backup-window-start <время начала резервного копирования> \
        --datalens-access=<true или false> \
        --maintenance-window type=<weekly или anytime> \
        --websql-access=<true или false>
    

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

  • --backup-window-start — время начала резервного копирования кластера, задается по UTC в формате HH:MM:SS. Если время не задано, резервное копирование начнется в 22:00 UTC.
  • --datalens-access — разрешает доступ из DataLens. Значение по умолчанию — false. Подробнее о настройке подключения см в разделе Подключение к DataLens.
  • --maintenance-window — настройки окна технического обслуживания. С их помощью вы можете указать предпочтительное время начала проведения операций по техническому обслуживанию хостов кластера (например, можно выбрать время, когда кластер наименее нагружен запросами):
    • type=anytime — техническое обслуживание может проводиться в любое время.
    • type=weekly — техническое обслуживание должно выполняться по расписанию. Укажите через запятую в параметрах day и hour предпочтительные день и час начала окна технического обслуживания, например: type=weekly,day=wed,hour=14.
      По умолчанию техническое обслуживание может проводиться в любое время.
  • --websql-access — разрешает выполнять SQL запросы из консоли управления. Значение по умолчанию — false.

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

Воспользуйтесь методом API update: передайте в запросе нужные значения в параметрах configSpec.access и configSpec.backupWindowStart.

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

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

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

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

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

    yc managed-mysql cluster update <имя кластера> \
       --security-group-ids <список групп безопасности>
    

Чтобы изменить список групп безопасности кластера, воспользуйтесь методом API update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Список групп в параметре securityGroupIds.
  • Список настроек, которые необходимо изменить, в параметре updateMask. Если не задать этот параметр, метод API сбросит на значения по умолчанию все настройки кластера, которые не были явно указаны в запросе.

Важно

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

В этой статье:
  • Изменить класс хостов
  • Увеличить размер хранилища
  • Изменить настройки MySQL
  • Изменить дополнительные настройки кластера
  • Изменить группы безопасности
Language / Region
Вакансии
Политика конфиденциальности
Условия использования
Брендбук
© 2021 ООО «Яндекс.Облако»