Как да деактивирате строгия режим на MySQL

Някои Съдържание Системи за управление като Typo, Contao, Contenido или други системи имат проблеми с от MySQL 5.1 съществуващ строг режим. Това е активна настройка по подразбиране от версия 5.7 насам.

За да можете да използвате тези CMS системи, все още е възможно да изключите строгия режим от страна на сървъра. Разбира се, това е препоръчително само в ограничена степен.

Какво прави стриктният режим?

Строгият режим на MySQL/MariaDB контролира начина, по който се обработват невалидните или липсващите стойности в заявките за промяна на данни, включително декларациите INSERT, UPDATE и CREATE.

По този начин невалидни или липсващи Данни водят до предупреждения или грешки при извършване на SQL заявката. При изключен режим scrict невалидните заявки или липсващите стойности се коригират и се издава просто предупреждение. Това може да доведе до неочаквани резултати.

Пример за това е ограничението на символите. Ако строгият режим е изключен, излишните символи се отрязват, за да се поберат.

Защо това се случва само при някои системи CMS?

Можем само да спекулираме. Кодът вероятно е толкова обширен, че никой не може да го види. На една система за управление на съдържанието много хора работят по този въпрос, понякога въвеждат отделни функции, които след това не се разглеждат отново в продължение на години. Докато не възникнат сериозни проблеми, това не е толкова лошо.

При система като whmcs, която също е засегната, ситуацията е различна. Ако важните данни са прекъснати, това води до неправилно разпределение. Това може да се окаже проблематично в случай на фактуриране.

Къде може да се приложи това ръководство?

Инструкциите се отнасят за Linux системи с MySQL 5.6/5.7 или MariaDB 10.1 и по-високи, за които е активен строгият режим.

За извършване на промените е необходим достъп с корен. Нашите инструкции винаги се отнасят до Centos Linux. В други дистрибуции конфигурационните файлове може да се намират в други директории.

Стъпка 1: Създаване на резервни копия

Когато редактирате файлове, винаги трябва да правите резервно копие. Твърде лесно е да изтриете нещо по невнимание.

cp -a /etc/my.cnf{,.strict.bak}

Командата създава файл my.cnf.strict.bak от файла my.cnf в същата директория.

Стъпка 2: Деактивиране на строгия режим на MySQL

Обикновено във файла няма sql_mode=..., така че в раздела трябва да се добави следният ред [mysqld] :

sql_mode=""

Стъпка 3: Рестартиране на услугата MySQL

След като редактирате файла, услугата трябва да се рестартира, за да се приложат промените.

systemctl restart mariadb

След като услугата бъде рестартирана, можете да проверите настройката, като изпълните следната команда. Ето един пример с паролата на Сървър на Plesk. Алтернативно с root и паролата.

mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "SELECT @@sql_mode;"

След това трябва да се появи следната декларация:

+————+

| @@sql_mode |

+————+

| |

+————+

Текущи статии

Обща информация

Warum eine starke Online-Präsenz für Immobilienmakler entscheidend ist

In der heutigen digitalen Ära ist eine professionelle Online-Präsenz für Immobilienmakler unverzichtbar. Die Immobilienvermarktung findet zunehmend im Internet statt, wo potenzielle Käufer und Verkäufer nach

Обща информация

Открийте перфектния уеб хостинг за вашите онлайн инструменти за графики

Представете си дигитална работилница, в която потоците от данни се стичат от всички краища и накрая завършват в красиви диаграми. Онлайн инструментите за създаване на диаграми са съвременните четки за рисуване и