mysql Меняем sql_mode (режим работы) в конфигурационном файле -- пример

Forums:

В этой этой заметке мы расмотрим как поменять режим работы сервера mySQL, на примере выключения строго режима (опции STRICT_TRANS_TABLES).

Как исправить режим sql_mode

Находим в my.ini (или my.cnf на линуксе, например этот файл в ubuntu) секцию [mysqld] строку

[mysqld]
.....
..
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

###

И заменяем режим на строку (оставляем всё что было, кроме STRICT_TRANS_TABLES):

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

###

-- на линуксе, возможно придётся править пустой файл, не забывайте перед строкой с опцией добавить секцию [mysqld] -- результат может выглядеть как-то так:


#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.

# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]

sql-mode="ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"

После чего перезапускаем MySQL сервер -- и убеждаемся, что режим изменился.