У меня возникли некоторые серьезные проблемы, когда я пытался установить sql_mode для моего 19.10 ubuntu с mysql 8.0.19.
Мне нужно установить его как:
sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
(я пробовал с двойными кавычками или без них)
Я запускаю:
which mysqld
/usr/sbin/mysqld
затем
/usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
Я пробовал в каждом файле добавить строку (даже в папках / файлах, связанных /etc/mysql/my.cnf), но когда я пытаюсь перезагрузить службу, эта строка вызывает ошибку.
Единственный файл, который заставляет его работать, находится на "~ / .my.cnf", который я создал вручную. но теперь sql_mode не такой, как мне хотелось бы:
mysql> SHOW VARIABLES LIKE 'sql_mode';
+---------------+-----------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-----------------------------------------------------------------------------------------------------------------------+
| sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+---------------+-----------------------------------------------------------------------------------------------------------------------+
, но я не могу найти, кто и где установил другое значение .... и этот режим, похоже, не заставляет работать мой crm (vtiger). И есть большие сомнения, что настройка сделана только для моего пользователя, а не для www-данных, или я сильно ошибаюсь?
В последних версиях ubuntu/debian я изменяю файл: /lib/systemd/system/mysql.service
ExecStart=/usr/sbin/mysqld --sql-mode=NO_ENGINE_SUBSTITUTION
Затем:
systemctl daemon-reload
systemctl restart mysql
меняется на * Файлы .cnf
ничего не делают