Невозможно избавиться от sql_mode ONLY_FULL_GROUP_BY в ubuntu 16.04
Я постоянно пытаюсь удалить sql_mode = ONLY_FULL_GROUP_BY. Выполнив следующую команду, я могу сделать это для этого сеанса
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))
Затем я попытался удалить его навсегда, изменив /etc/mysql/my.cnf /etc/mysql/mysql.cnf /etc/mysql/mysql.conf.d/mysqld.cnf, добавив раздел
[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Однако, когда я перезапускаю mysql, там присутствует режим ONLY_FULL_GROUP_BY. У меня заканчиваются варианты.
Кто-нибудь может пролить здесь немного света? Спасибо.
Единственное, что у меня работает, это отредактировать /lib/systemd/system/mysql.service:
# MySQL systemd service file
[Unit]
Description=MySQL Community Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
PermissionsStartOnly=true
ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
# Normally, we'd simply use:
# ExecStart=/usr/sbin/mysqld
ExecStart=/usr/sbin/mysqld --sql-mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
ExecStartPost=/usr/share/mysql/mysql-systemd-start post
TimeoutSec=600
Restart=on-failure
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755
В зависимости от вашего дистрибутива mysql /etc/mysql/my.cnf уже должен иметь раздел [mysqld]. Я бы посмотрел в файлы my.cnf * и посмотрел, есть ли там sql_mode. Какую версию mysql вы используете?