MySQL / MariaDB Settings

FlightPath uses MySQL / MariaDB for its backend database.  For most servers, there are no additional changes needed to your database configuration.  However, if you run into trouble, please see below:

 

MySQL 5.7+ or MariaDB (see below for MySQL 8+ or MariaDB 10+)

If your database version is MySQL 5.7 or above, you may need to set your sql_mode setting in your my.cnf file (this is called my.ini in Windows).

This is because MySQL changed some of the default functionality of their queries starting at this version.

If you see error messages relating to sql_mode in FlightPath, please undertake the following steps on your server:

 

Edit Configuration File

If you are on a Linux/Unix machine, your my.cnf file is probably located at:

/etc/mysql/my.cnf

Edit this file, and under the [mysqld] section (notice the 'd' at the end), add the following line(s) (or edit the existing ones, if already there):

sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true
innodb_default_row_format = DYNAMIC

MySQL 8+ or MariaDB 10+

Please note that in MySQL 8, the "NO_AUTO_CREATE_USER" has been removed and is no longer recognized.  So, if you are using 8+, simply enter:

sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true
innodb_default_row_format = DYNAMIC

Restarting MySQL

After this, you will need to restart your MySQL server, or the entire machine if that is easier.  For Ubuntu, the restart command is:

sudo service mysql restart