Хостинг

ошибка Режим работы MySQL Ошибка! Переменная sql_mode в MySQL должна быть пустая, текущее значение: NO_ENGINE_SUBSTITUTION

ошибка Режим работы MySQL  Ошибка! Переменная sql_mode в MySQL должна быть пустая, текущее значение: NO_ENGINE_SUBSTITUTION

$connection = Bitrix\Main\Application::getConnection();

$connection->queryExecute(“SET sql_mode=””);

$connection->queryExecute(“SET innodb_strict_mode=0”);

Ошибка, которую вы видите, говорит о том, что в MySQL установлена переменная sql_mode с значением NO_ENGINE_SUBSTITUTION, что может вызывать проблемы при работе с некоторыми запросами или при создании/обновлении таблиц.

Чтобы исправить эту ошибку и очистить переменную sql_mode, выполните следующие шаги:

1. Проверьте текущие значения sql_mode:

Для этого нужно выполнить следующий SQL-запрос в MySQL:

sql Скопировать

Закрыть блок

SHOW VARIABLES LIKE 'sql_mode';

Это покажет текущее значение переменной sql_mode.

2. Измените sql_mode на пустое значение:

Чтобы временно очистить sql_mode, выполните команду:

sql Скопировать

Закрыть блок

SET GLOBAL sql_mode = '';

Эта команда очистит sql_mode на уровне глобальных настроек для всех сессий. Однако эта настройка сбрасывается при перезагрузке MySQL.

3. Перманентное изменение в конфигурации:

Чтобы переменная sql_mode оставалась пустой после перезагрузки MySQL, нужно изменить конфигурационный файл my.cnf или my.ini (в зависимости от операционной системы).

  • Найдите файл конфигурации MySQL. Обычно он находится в одном из следующих мест:

  • /etc/mysql/my.cnf

  • /etc/my.cnf

  • /etc/mysql/mysql.conf.d/mysqld.cnf

  • Откройте файл для редактирования:

bash Скопировать

Закрыть блок

sudo nano /etc/mysql/my.cnf
  • В разделе [mysqld] добавьте или измените строку, чтобы она выглядела так:

ini Скопировать

Закрыть блок

[mysqld]
sql_mode=""
  • Перезапустите MySQL:

bash Скопировать

Закрыть блок

sudo systemctl restart mysql

4. Проверьте изменения:

После этого вы можете снова выполнить запрос для проверки значения переменной:

sql Скопировать

Закрыть блок

SHOW VARIABLES LIKE 'sql_mode';

Теперь значение должно быть пустым, и ошибка больше не должна возникать.


Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →