Как отключить strict mode mysql
Перейти к содержимому

Как отключить strict mode mysql

  • автор:

MySQL — как отключить strict mode — строгий режим

Отключить его молжно через конфиг my.cnf (Для Ubuntu — /etc/mysql/my.cnf):

# vi /etc/mysql/my.cnf [mysqld] sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

либо ввобще снять все ограничения

[mysqld] sql_mode =

и перезагрузить mysql сервер:

# systemctl restart mysql
mysql> SHOW VARIABLES LIKE 'sql_mode'; +---------------+-----------------------------------------------------------------------------------------------------------------+ | Variable_name | Value | +---------------+-----------------------------------------------------------------------------------------------------------------+ | sql_mode | IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

directman

Нажимаем выполнить. Далее запросим результат отключения, в консоль пишем:

print_r ( sqlselect("SHOW VARIABLES LIKE 'sql_mode';"));

нажимаем выполнить и получаем ответ

Array ( [Variable_name] => sql_mode [Value] => IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION )

проверяем, чтобы в ответе не было значения STRICT_TRANS_TABLES.

Включение строгого режима MySQL
В панели администратора открываем консоль и пишем

SQLExec ("set global sql_mode='STRICT_TRANS_TABLES';");

Нажимаем выполнить. Далее запросим результат отключения, в консоль пишем:

 print_r ( sqlselect("SHOW VARIABLES LIKE 'sql_mode';"));

нажимаем выполнить и получаем ответ

Array ( [Variable_name] => sql_mode [Value] => STRICT_TRANS_TABLES,IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION )

проверяем, чтобы в ответе присутствовало значения STRICT_TRANS_TABLES.

Не отключается strict mode mysql?

Проблема такая, перенести на новый сервер сайт, там принудительно уже работает STRICT_TRANS_TABLES
Режим строго mysql , мне нужно его отключить для корректной работы сайта.
Через phpmyadmin не дает, требует права super ( в isp панели при создания пользователя нет выбора разрешения super)

601950f8ada82026897708.png

Нашел мануал что нужно редактировать конфиг
vim /etc/my.cnf
захожу в данный файл, а он выдает что есть какой то еще один файл

Дальше нажимаю все равно редактировать

601951266eb03012187337.png

60195193a34b2695488734.png

Открывается девственно чистый файл,
Пишу туда через vim
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Сохраняю и перезагружаю mysql сервер.
Проверяю

Без толку, все равно работает , далее читаю что нужно
над строкой с параметрами в конфиге писать
[mysqld]
Написал, при попытке перезагрузить mysql выдает ошибку
Job for mysql.service failed because the control process exited with error code. See «systemctl status mysql.service» and «journalctl -xe» for details.
и не загружается.

CentOS 8 , Mysql 8.0.21

  • Вопрос задан более двух лет назад
  • 252 просмотра

MySQL — как отключить строгий режим

Strict mode в MySQL включен по умолчанию. Проверить можно следующей командой:

mysql> SHOW VARIABLES LIKE 'sql_mode';

«STRICT_TRANS_TABLES» — это и есть строгий режим.

Отключить его можно в конфигурационном файле my.cnf ( Для Ubuntu — /etc/mysql/my.cnf):

# nano /etc/mysql/my.cnf Добавляем строку:

Перезагрузить демона mysql :

# systemctl restart mysql

Эта возможность потребуется вам для конфигурирования виртуальной машины под хостинг сайта на битриксе

Мы так же готовы предоставить сервер в аренду для работы с Linux . Для работы с пользователями мы используем систему заявок.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *