Настройка базы данных

Вы можете управлять некоторыми настройками ваших баз данных с помощью интерфейсов Managed Service for MySQL.

Установить режим SQL (sql_mode)

Вы можете задать или изменить значение переменной sql_mode, которая определяет режим SQL для базы данных. Эта операция вызовет перезапуск хостов кластера.

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

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

Задайте нужные режимы SQL в значении параметра --set, например:

$ yc managed-mysql cluster update-config
     --cluster-name=<имя кластера>
     --set '"sql_mode=NO_KEY_OPTIONS,NO_TABLE_OPTIONS"'

Обратите внимание на кавычки: значением параметра должна стать вся строка, включая часть sql_mode=.

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

Передайте массив sqlMode в новой конфигурации MySQL, отправляя запрос update.

Изменить набор символов и правила их сравнения (CHARACTER SET, COLLATE)

Настройки символов можно установить для базы данных командой ALTER DATABASE. Для этого нужно выполнить запрос от лица пользователя с привилегией ALL или ALTER для нужной БД, например:

ALTER DATABASE dbname CHARACTER SET = 'utf8mb4' COLLATE = 'utf8mb4_unicode_ci';

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

ALTER TABLE dbname.tablename CONVERT TO CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';