У нас есть один сервер MySQL 5.7, который нам нужно иметь в нестрогом режиме, потому что это требует некоторые устаревшие базы данных. Однако в нашем новом приложении мы хотели бы, чтобы база данных обеспечивала строгость (особенно NO_ZERO_DATE
). Есть ли способ переопределить конфигурации на уровне сервера на уровне базы данных?MySQL Можете ли вы переопределить SQL-режим сервера на уровне базы данных?
2
A
ответ
1
Вы можете изменить режим SQL на сессии с:
SET SESSION sql_mode = 'modes';
Согласно documentation:
Установка переменной SESSION влияет только на текущий клиент.
Это может стать обходным решением для решения вашей проблемы. Я думаю, что нет прямого способа установить режим SQL по базе данных.
Обратите также внимание:
Важно
режим SQL и определяемые пользователем разделов. Изменение режима SQL сервера после создания и вставки данных в секционированные таблицы может привести к серьезным изменениям в поведении таких таблиц, а может привести к потере или повреждению данных. Настоятельно рекомендуется, чтобы вы никогда не меняли режим SQL после создания таблиц с использованием пользовательского раздела.
Возможно, более безопасный способ - использовать два экземпляра сервера MySQL.
«Возможно, более безопасный способ - использовать два экземпляра сервера MySQL». О да, это, безусловно, безопаснее. Не уверен, что это вариант, хотя – abeger