После обновления до MySQL 5.5 из Remi-DB (CentOS 6) у нас возникла проблема, когда при каждой перезагрузке наш SQL-сервер возвращался в строгий режим:
mysql> SELECT @@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
Затем запускаю команду:
mysql> SET GLOBAL sql_mode="";
Query OK, 0 rows affected (0.00 sec)
И это отлично работает для сеанса, но при перезапуске это изменение теряется (я также пробовал установить sqlmode "SET SESSION".
Также хочу отметить, что пробовал это в my.cnf
файлы тоже.
Единственное жизнеспособное решение - закодировать файл инициализации для запуска SET GLOBAL sql_mode
при перезапуске, но это громоздко, раздражает и необоснованно, должен быть способ заставить эту работу работать сразу же.
Я безрезультатно пытался переустановить SQL-сервер. (Однако я, конечно, извлек данные из резервной копии, поскольку это рабочий сервер.)
Это тоже укусило меня на Percona Server v5.5.30-30.1-log.
Видеть: http://bugs.mysql.com/bug.php?id=68643
и проверьте наличие /usr/my.cnf или аналогичного файла ($ MYSQL_HOME / my.cnf), который мог быть создан mysql_install_db.
Это отменяло настройку sql_mode во всех других наших файлах конфигурации.
Добавьте это в свой my.cnf и перезапустите MySQL. Убедитесь, что после этого нет другой строки, которую можно было бы перезаписать.
Заменить
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
с участием
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
иногда также может работать добавление строк ниже. Попробуйте сначала, а если не сработает, попробуйте эти.
sql-mode=""
или
sql-mode="TRADITIONAL"
Я знаю, что это старый, но если кому-то это понадобится:
Я получал это с MySQL Server 5.6 на Windows 7 x64.
Оказывается, он загружает сюда файл my.ini:
C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
Хотя MySQL был установлен и запускается отсюда:
C:\Program Files\MySQL\MySQL Server 5.6
Изменение режима sql в ProgramData ini на следующее, а затем перезапуск MySql решил проблему:
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"