How do I disable Strict Mode in MySQL?Estimated Reading Time: 2 Minutes
Please follow the instructions given below to turn off the MySQL Strict Mode. The latest versions of PHPKB Knowledge Base Management Software does not require MySQL Strict Mode to be turned OFF. It was a requirement for older versions (version 8 or older) of PHPKB software.
1. Disable Strict Mode via my.cnf/my.ini
This method disables it by changing the value of SQL_MODE in my.cnf file (for Linux) OR my.ini file (for windows server) and restarting the MySQL server. my.cnf file can be found in one of a few locations (depending on which distribution you're using). The most common locations are /etc/my.cnf and /etc/mysql/my.cnf .
- Look for the following line:
sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
- You can change the value of sql_mode to NO_ENGINE_SUBSTITUTION to completely disable strict mode, but you may want to look up each mode that is configured before disabling it or you can simply change it to:
sql-mode="" (i.e. Blank)
If sql_mode isn't set, you can add it under the [mysqld] heading, then save the file, and restart MySQL.
- Restart the MySQL Service.
2. To Disable Strict Mode via SQL
This method allows you to disable the strict mode on your MySQL server by running the following command.
$ mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
Now, you can verify that the mode is set by running the following:
$ mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"
That's all! Full documentation for setting MySQL modes is available on the Server SQL Modes page in the MySQL Documentation. A description of all of the modes is also available on that page.
- Applicable To: Standard Edition, Standard (Multi-Language) Edition, Enterprise Edition (MySQL), Enterprise Multi-Language Edition (MySQL), Enterprise Edition (SQL Server), Enterprise Multi-Language Edition (SQL Server)