Как да деактивирате строгия режим на 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 |

+————+

| |

+————+

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

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

Защо силното онлайн присъствие е от решаващо значение за агентите на недвижими имоти

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

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

Защо стартиращите компании трябва да мислят за мащабируемостта от самото начало при избора на доставчик на хостинг

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