...
Minimum requirements
The following are the minimum requirements for a MariaDB installation to support PhixFlow.
Installation
Option | Setting |
Version | |
The following configuration parameters must be set in | |
| Ensure that the data dir directory being used has sufficient space for the initial period of PhixFlow operation. This is in the |
|
This must be added to the |
|
This must be in the |
The following configuration parameters can optionally be set in my.cnf | |
|
If set in For details on why this setting is recommended - , and the alternatives if you do not want to set in this |
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:
Code Block | ||
---|---|---|
| ||
[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 |
---|---|
|
|
|
|
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_
creatorscreator
s) to be updated, or to be run with sufficient privileges.
...
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 here: Upgrading PhixFlow.
Windows/Antivirus
MariaDB is not compatible with on-access anti-virus software, so this must be disabled for the MariaDB data folder(s).
...
It is based on an installation of MariaDB on the Ubuntu distribution of linuxLinux. Installation on other distributions of linux Linux will follow a very similar pattern. For Debian-based distributions, many of the commands will be identical. For RHEL-based distributions, the commands will be similar, replacing apt
with yum
. However, in all cases, please check with in the MariaDB documentation (https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/) to check the exact details for installation on your platform. In particular, instructions for downloading and installing tailored to your linux distrubtion Linux distribution and target version of MariaDB are provided here: https://downloads.mariadb.org/mariadb/repositories.
For Ubuntu 18.04 and MariaDB 10.3/10.4:
...
Code Block | ||
---|---|---|
| ||
sudo nano /etc/mysql/my.cnf |
In the [mysqld]
section, update or add the below variables to match these values:
...
Info |
---|
For versions earlier than 10.6, the setting |
Also in the [mysqld]
section check that the following are either present, and if not add them (add them next to other innodb settings, although the placement of these does not actually matter, as long as they are in the [mysqld]
section):
Code Block | ||
---|---|---|
| ||
innodb_file_format = Barracuda
innodb_default_row_format = dynamic
innodb_file_per_table = 1
innodb_strict_mode = ON |
...
If the first option does not come up, respond to Set root password?
with y instead. This should only happen if you're installing an old version of MariaDB.
Post-
...
install
Firewall
If you want to access your database from another server:
...
You can add admin users using mysql:
Code Block | ||
---|---|---|
| ||
cmd> mysql -uroot -p
password: ****
mysql> grant all privileges on *.* to 'auser'@'%' identified by 'apassword' with grant option; |