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)
Нашел мануал что нужно редактировать конфиг
vim /etc/my.cnf
захожу в данный файл, а он выдает что есть какой то еще один файл
Дальше нажимаю все равно редактировать
Открывается девственно чистый файл,
Пишу туда через 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 . Для работы с пользователями мы используем систему заявок.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.