Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i
  • Unix-подобные ОС
  • Php
  • MySQL
  • JavaScript
  • Менеджеры пакетов
  • Docker
  • Seo
  • Вход
  • Регистрация
  • Главная
  • MySQL
  • Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04

Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04

Иногда случается, что требуется завести старый сайт на новом программном обеспечении. В моем случае, сайт работающий на mysql 5.5 потребовалось для отладки завести на mysql 5.7. Тут же возникла ошибка "42000":

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'db.books' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Это все из-за того, что в mysql 5.7 введены правила, которые для ускорения работы с базой препятствуют работе некоторых запросов (если я понял правильно). На продакшене стоит переписать данный запрос. Так как будет потеряна производительность. Но на локалке можно произвести действия описанные ниже.

Пробовал для Ubuntu 18.04, mysql 5.7 (как и писал выше).

В конец файла /etc/mysql/my.cnf добавляем строки:

sudo nano /etc/mysql/my.cnf

Вписываем в конец:

[mysqld]
sql_mode="NO_ENGINE_SUBSTITUTION"

Рестарт mysql

sudo service mysql stop

sudo service mysql start

Предупреждение

Изначально в 5.7 sql_mode действуют такие ключи:

STRICT_TRANS_TABLES, ONLY_FULL_GROUP_BY, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION

Своим действием мы отключаем все ключи, вгоняя mysql 5.7 в нестандартный режим работы, подобный для версии mysql 5.6.

Не используйте это на продакшене.

root-i
20 Декабря 18
446
0
Теги
MySQL MySQL 5.7
Поделиться

Комментарии

Имя
Электронная почта
Рейтинг
Отзыв

Похожие посты

26 Января 2019

Долгое хранение корзины в интернет-магазине

Рассмотрим варианты популярные варианты хранения товаров в корзине в интернет-магазине. Обозначим плюсы и минусы таких хранений. Рассмотрим варианты долгосрочного хранения корзины.

30 Марта 2019

Первая настройка MySql 5.7, смена пароля root и длина пароля

Рассмотрим настройку доступа MySql 5.7 на Ubuntu 18.04. Определим юзера root mysql на локальной машине, зададим ему пароль root, рассмотрим смену длинны пароля и ограничений по нему.

02 Июня 2018

Docker MySQL 5.7 через docker-compose и использование на Ubuntu 14.04

Установка MySQL 5.7 через Docker. Все действия будем производить на Ubuntu 14.04 c помощью docker-compose. Рассмотрим запуск, схему для compose и примеры подключения к созданному контейнеру MySQL.

Теги

Ubuntu 14.04 (13) Софт (8) Gearman (3) Сервисы (2) Framework (1) MVC (1) Php 5.6 (14) Cli (2) Propel (3) ORM (3) JavaScript (3) Css (1) Composer (4) Docker (3) Seo (3) MySQL (4) docker-compose (2) CentOS (1) 1С (1) Memcache (1) Memcached (1) Php 7 (4) Анализ (2) Ubuntu 18.04 (8) MySQL 5.7 (3) Генерация (2) Bower (1) Npm (1) NodeJs (3) Gulp (1) ImageCMS (2) Базы (1)

Последние комментарии

Добрый день, nickwebman. Можно попробовать исследо...
root-i
04.11.19
почему при нажатии на любую страницу или товар кид...
nickwebman
03.11.19
С вопросом fedor77 разобрались. Проблема была в ус...
root-i
09.10.19
Добрый вечер, ребят у вас есть проблема с изменени...
fedor77
09.10.19

Делюсь информацией в которой я требовал помощи и разбираясь затрачивал много времени. Если мои знания помогли хотя бы одному человеку, значит этот сайт создан не зря.

Благодарность: $
Контакты

Обратная связь

Поиск по сайту

  • Вход
  • Регистрация

Сайт работает на chmod -R