Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i Отключение sql_mode=only_full_group_by в mysql 5.7 ubuntu 18.04 / ~#root -i Отключение 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
2450
0
Теги
MySQL MySQL 5.7
Поделиться

Комментарии

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

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

26 Января 2019

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

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

30 Марта 2019

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

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

06 Апреля 2020

Длинна слова при FULLTEXT поиске. Размер ft_min_word_len ключа.

Количество символов в слове при поиске по FULLTEXT ключу. Параметр ft_min_word_len.

02 Июня 2018

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

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

Категории

  • Unix-подобные ОС
  • Php
  • MySQL
  • JavaScript
  • Менеджеры пакетов
  • Docker
  • Seo

Теги

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

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

Как вариант это может происходить из-за неизвестно...
root-i
21.01.22
Чтобы убрать ошибку Uncaught TypeError: $ is not a...
wlad2.ru
11.01.22
Спасибо!
Артём
04.09.21
tedy1, можно в index.php включить режим отладки и ...
root-i
18.03.21

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

Благодарность, на продолжение работы сайта:
Контакты

Telegram Viber Mail

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

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

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