Я обновил наш сервер до Ubuntu 16, который включает Mysql 5.7 и, по умолчанию, строгий режим включен (хотя нет записи для него ни в одном из файлов конфигурации).
У нас возникли проблемы с импортом баз данных, которые работали под управлением MySQL 5.6 и более ранних версий, и это из-за строгого режима. По умолчанию вот что включено:
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY
Как я могу настроить mysql 5.7 для работы точно так же, как это было в 5.6 или чтобы базы данных из 5.6 были совместимы с 5.7?
Ответы:
Чтобы отключить режим строгого SQL, введите SSH на свой сервер
root
и создайте этот файл:Откройте файл и введите эти две строки:
Перезапустите MySQL с помощью этой команды:
Это изменение отключает два режима настройки SQL,
STRICT_TRANS_TABLES
иONLY_FULL_GROUP_BY
, которые были добавлены в MySQL 5.7 и проблемы вызывают для некоторых старых приложений.Подтверждение строгого режима SQL отключено
Вы можете подтвердить, что строгий режим SQL отключен, выполнив эту команду как
root
:Если строгий режим отключен, вы не увидите вывод этой команды.
Если отключение строгого режима вызывает какие-либо проблемы для вас, вы можете включить его снова, удалив этот файл и перезапустив MySQL снова.
Источник: Как отключить режим строгого SQL в MySQL 5.7
источник
mysql: [ERROR] Found option without preceding group in config file /etc/mysql/conf.d/disable_strict_mode.cnf at line 1!
:?Установить
sql_mode
в/etc/mysql/mysql.conf.d/mysqld.cnf
безSTRICT_TRANS_TABLES
.Добавить под
[mysqld]
:источник