Как исправить `неизвестную переменную 'sql-mode=ANSI'`?

Используя MySQL 5.5.27, в my.cnf у меня есть:

[mysql]
sql_mode=ANSI

После запуска консоли MySQL я получаю:

unknown variable 'sql-mode=TRADITIONAL'

SQL-режимы MySQL doc Server показывают эту опцию, так почему же она не работает?

(Если это поможет, я на OSX Lion)

Кроме того, вот пастбина, показывающая вещи, которые попробовал другой человек, без решения.

4 ответа

Решение

Я почти уверен, что причина этого не в том, что это аргумент для mysqld, а не для клиента. Я придумал альтернативный способ, которым вы могли бы сделать это вместо этого. Отредактируйте своих пользователей my.cnf i.e. ~/.my.cnf быть примерно таким:

[client]
init-command="set sql_mode='TRADITIONAL'"

sql-mode должно быть в [mysqld] раздел, а не в [mysql] раздел. Если вы двигаетесь sql-mode=ANSI к [mysqld] раздел, это должно работать.

В конфигурационном файле вы должны использовать sql-mode имя вместо (с тире, не подчеркивание)

http://dev.mysql.com/doc/refman/5.5/en/server-options.html

И как указал @cogsmos, вы должны поставить его [mysqld] раздел

И в Mysql, и в mariadb можно попробовать поместить файл /etc/mysql/my.cnf в раздел:

      [mysqld]
sql_mode=''

для меня это решило.

Другие вопросы по тегам