Itnull
Admin
- Регистрация
- 22.05.13
- Стаж
- 13 г. 5 мес.
- Сообщения
- 29.282
- Реакции
- 13.536
- ID пользователя
- 1
- Автор темы
- Администратор
- Модер.
- #1
MySQL 5.7 отключение ONLY_FULL_GROUP_BY
В MySQL 5.7 появился такой режим как ONLY_FULL_GROUP_BY, который более строго обрабатывает запросы с GROUP_BY. Подробнее можно почитать в документации.
По хорошему, конечно, запросы выпадающие с подобной ошибкой нужно пересмотреть и переписать. Но если она выпала "внезапно" после обновления, да еще и на production-сервере, быстрым решением проблемы будет отключение этого режима.
Подключаемся к MySQL:
# mysql -u root -p
вводим пароль и командуем:
и
тем самым меняем значение на прежнее, но за исключением подстроки "only_full_group_by,".
Проверить результат и убедиться что режим выключен можно командой:
Плюс такого подхода в том, что перезапуск MySQL-сервера не требуется.
В MySQL 5.7 появился такой режим как ONLY_FULL_GROUP_BY, который более строго обрабатывает запросы с GROUP_BY. Подробнее можно почитать в документации.
По хорошему, конечно, запросы выпадающие с подобной ошибкой нужно пересмотреть и переписать. Но если она выпала "внезапно" после обновления, да еще и на production-сервере, быстрым решением проблемы будет отключение этого режима.
Подключаемся к MySQL:
# mysql -u root -p
вводим пароль и командуем:
Код:
mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY,", ""));
и
Код:
mysql> SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY,", ""));
тем самым меняем значение на прежнее, но за исключением подстроки "only_full_group_by,".
Проверить результат и убедиться что режим выключен можно командой:
Код:
mysql> SELECT @@sql_mode;
Плюс такого подхода в том, что перезапуск MySQL-сервера не требуется.
