Tune MariaDB for Artifactory

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo

When using Artifactory with MariaDB it is recommended to use the InnoDB engine with the following tuning parameters configured in the /etc/my.cnf file.

Tuning Parameters for MySQL

# The MariaDB server
[mysqld]
.
# By default innodb engine use one file for all databases and tables. We recommend changing this to one file per table.
# NOTE: This will take effect only if Artifactory tables are not created yet! Need to be set and MariaDB restarted before starting Artifactory for the first time.
innodb_file_per_table
 
# Theses are tuning parameters that can be set to control and increase the memory buffer sizes.
innodb_buffer_pool_size=1536M
tmp_table_size=512M
max_heap_table_size=512M
 
# Theses control the innodb log files size and can be changed only when MariaDB is down and MariaDB will not start if there are some innodb log files left in the datadir.
# So, changing theses means removing the old innodb log files before start.
innodb_log_file_size=256M
innodb_log_buffer_size=4M
.

Note that both the XtraDB and InnoDB engines are compatible with the various InnoDB system variables.

After tuning MariaDB to work with Artifactory, you need to restart MariaDB.

Note

Both MySQL and MariaDB servers do support the “/* ping */” query, but the MariaDB Connector/J wraps the query as if it was a standard SQL query and transforms it into a “SET STATEMENT...” query, which is illegal in terms of syntax as far as the server is concerned. For this reason, Artifactory uses a generic “SELECT 1” as a validation query for pooled connections when MariaDB is used as a database type. The MySql Connector has no such limitation, and supports the “/* ping */” query.