Відключення 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
  • RU
  • UA
  • EN
  • Створити інтернет-магазин
  • Документація
  • Блог
    • Unix-подібні ОС
    • Php
    • MySQL
    • JavaScript
    • Менеджери пакетів
    • Docker
    • Seo
  • Допоміжні сервіси
    • Короткі посилання
    • Oбмін переглядами YouTube
  • Вхід
  • Реєстрація
  • Головна
  • 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 або access violation: 1055 Expression #1 of ORDER BY clause 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.

Не використовуйте це на продакшен.

20 Грудня 18
2839
0

Відгуки

Ім'я
Електронна пошта
Рейтинг
Відгук

Інші статті з категорії

06 Квітня 2020

Довжина слова у FULLTEXT пошуку. Розмір ft_min_word_len ключа.

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

01 Вересеня 2019

Mysql база шин та дисків

База автомобільних шин та дисків. В базі присутні: виробник, модель, рік, модифікація, PCD, діаметр, гайка, заводські розміри шини та диска, можливі варіанти заміни, тюнінг шини та диски. Вантажних автомобілів у базі немає.

30 Березня 2019

Перше налаштування MySql 5.7, зміна пароля root та довжина пароля

Розглянемо налаштування доступу MySql 5.7 до Ubuntu 18.04. Визначимо користувача root mysql на локальній машині, задамо йому пароль root, розглянемо зміну довжини пароля та обмежень щодо нього.

Категорії

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

Останні коментарі

Добрый день, Сергей. Я на более новых версиях блют...
root-i
23.02.23
Пробовал на transmart колонке. Ничего из перечисле...
Сергей
20.02.23
HenryMit, может быть
root-i
07.02.23
Неофрейдизм — это… Определение, принципы, представ...
HenryMit
07.02.23

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

Подяка на продовження роботи сайту:
Контакти

Telegram Viber Mail

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

  • Вхід
  • Реєстрація

Сайт працює на chmod -R