Настройка базы данных
Вы можете управлять некоторыми настройками ваших баз данных с помощью интерфейсов Managed Service for MySQL.
Установить режим SQL (sql_mode)
Вы можете задать или изменить значение переменной sql_mode, которая определяет режим SQL для базы данных. Эта операция вызовет перезапуск хостов кластера.
- Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
- Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
- В блоке Настройки СУБД нажмите кнопку Настроить.
- В списке настроек найдите параметр Sql mode.
- Задайте набор режимов SQL с помощью выпадающего списка. Чтобы вернуть настройки по умолчанию, нажмите кнопку Сбросить.
- Нажмите кнопку Сохранить в диалоговом окне настроек СУБД.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле 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';