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

Привет всем, я хотел найти этот строгий режим mysql для whmcs и отключить его, но у меня не было прогресса, я новичок, так что извините, если я не упомянул другие вещи Кто-нибудь может мне помочь? Я работаю над WHM/Cpanel

6 ответов

Чтобы отключить (или включить) строгий доступ mysql из cpanel.

1, поиск "phpmyadmin", в окне поиска, нажмите на него

2, как только phpmyadmin загружен, нажмите на вкладку "переменные"

3, поиск "режим SQL"

затем

включить строгий режим при входе

STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

чтобы выключить строгий режим, введите

NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Если у вас есть контроль над сценарием, который вы будете использовать, то стоит оставить строгий режим включенным, он предупредит вас о любых ошибках в вашем коде, прежде чем они станут проблемой в будущем.

В настоящее время я использую сервер Centos 6.9 с MariaDB и многоканальной конфигурацией, поэтому для клиентов они не смогли самостоятельно отключить строгий режим без получения ошибки отсутствия разрешения. Вот как вы отключите это глобально:

Откройте SSH/ Консоль и проверьте текущий режим:

# mysql -e "SELECT @@sql_mode;"

+----------------------------------------------------------------------+
| @@sql_mode                                                           |
+----------------------------------------------------------------------+
|STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, |
|NO_ENGINE_SUBSTITUTION                                                |
+----------------------------------------------------------------------+

Найдите и отредактируйте файл my.cnf

vim /etc/my.cnf

Найдите и измените следующее или добавьте строку, если ее нет

Строгий режим включен:

sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Строгий режим отключен:

sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Перезапустите службу MySQL

/etc/init.d/mysql restart

Убедитесь, что строгий режим отключен:

# mysql -e "SELECT @@sql_mode;"

+--------------------------------------------+
| @@sql_mode                                 |
+--------------------------------------------+
| NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+

Готово:)

Прежде всего, чтобы отключить строгий режим MySQL, вам нужен root-доступ к серверу. Если у вас его нет, вы не сможете этого сделать. Если у вас есть только доступ cPanel, это означает, что вы не являетесь администратором этого сервера или у вас нет доступа с правами root.

Чтобы отредактировать ваш конфигурационный файл mysql my.cnf, вам нужно будет получить доступ к вашему серверу через SSH (с правами root или sudo), а затем отредактировать файл /etc/my.cnf и добавить следующую строку, если он отсутствует:

[ТуздЫ]

sql_mode = "ТРАДИЦИОННЫЙ,NO_AUTO_CREATE_USER"

После редактирования этого файла сохраните его и перезапустите службу MySQL. Опять же, вам нужен полный root-доступ для вашего сервера, чтобы изменить это.

Я думаю, что в последней версии невозможно изменить файл *.cnf Вместо этого вы можете изменить файл mysql.service

      /lib/systemd/system/mysql.service
ExecStart=/usr/sbin/mysqld --sql-mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

Открыто my-default.ini файл и удалите STRICT_TRANS_TABLES параметр из значения sql_mode.

[Пример: в localhost xampp файл находится по адресу xampp/mysql/my-default.ini]

значение по умолчанию sql_mode, как показано ниже

sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

измените это на

 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

Это отключит строгий режим в MYSQL

Сначала проверьте, в каком режиме работает MYSQL, с помощью следующей команды:

 mysql -u root -p -e "SHOW VARIABLES LIKE 'sql_mode';"

Вам нужно будет заменить root на любое имя пользователя, имеющее права суперпользователя на вашем сервере (но обычно это просто root). Вам также будет предложено ввести пароль.

Чтобы отключить строгий режим через командную строку SQL:

Вы можете отключить строгий режим на своем сервере MySQL, выполнив следующую команду в командной строке:

mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
Другие вопросы по тегам