When using MariaDB, the following initial database configuration is recommended. However, some of the options below may need to change over time as the work carried out by PhixFlow increases.
Minimum requirements
The following the minimum requirements for a MariaDB installation to support PhixFlow.
Installation
Option | Setting |
Version | |
Max Server Memory | At least 2 GB |
The following configuration parameters must be set in my.cnf | |
datadir | Ensure that the data dir being used has sufficient space for the initial period of PhixFlow operation. This is in the [mysqld] section of the my.cnf file. |
binlog_format | mixed This must be added to the [mysqld] section of the my.cnf file. |
wait_timeout | 28800 (this is the default, but some installation processes set this to a much lower value) This must be in the [mysqld] section of the my.cnf file. |
The following configuration parameters can optionally be set in my.cnf | |
log_bin_trust_function_creators | 1 If set in my.cnf, this must be added to the [mysqld] section of the file. For details on why this setting is recommended - and the alternatives if you do not want to set in this my.cnf - see Running non-deterministic functions |
Example
If you add all parameters above to my.cnf, including the optional parameters, then the [mysqld] section of your my.cnf file should look something like this:
[mysqld] ... datadir = /var/lib/mysql ... wait_timeout = 28800 ... binlog_format = mixed log_bin_trust_function_creators = 1 |
Database
The following settings are required for the PhixFlow database.
All of these parameters are reflected in the example MariaDB database creation command in Configure the Database. |
You will need a database, and a login with all privileges on that database. The database should be created with the following options:
Option | Setting |
---|---|
character_set_server | utf8 |
collation_server | utf8_bin |
Running non-deterministic functions
PhixFlow's migration scripts sometimes require the use of non-deterministic functions. To run, these require either a setting (log_bin_trust_function_creators) to be updated, or to be run with sufficient privileges.
Permanent setting change to allow non-deterministic functions
You can permanently allow non-deterministic functions to run in migration scripts by updating the setting log_bin_trust_function_creators in the my.cnf file. This is convenient, because you don't have to remember to make any changes to your session when running PhixFlow migration scripts. If you don't want to make this permanent change, see the following section.
Instructions for setting log_bin_trust_function_creators in the my.cnf file are given in MariaDB installation.
Session change to allow non-deterministic functions
If you do not update the log_bin_trust_function_creators setting in my.cnf, you must make sure that your session either has this setting updated, or that you run migration scripts with sufficient privileges. Full details for doing this are given in Upgrading PhixFlow.
Publishing space
Notes
Windows / Antivirus
MariaDB is not compatible with on-access anti-virus software so this must be disabled for the MariaDB data folder(s).