This document explains how to set up MySQL for Sider Enterprise.
Sider Enterprise requires MySQL 5.7. You cannot use MySQL 5.6 or older. MySQL 8.0 may work, but we do not support the use of this version. Also, the MySQL server should run on a machine that has sufficient storage size and memory space. It depends on the use of customers, but we recommend preparing 8 GiB RAM and 100 GiB storage or higher for the dedicated MySQL server.
You should configure these parameters to handle any requests from Sider Enterprise.
max_allowed_packet- The parameter should be set with
134217728or higher since Sider Enterprise often handles large data.
max_heap_table_size- We recommend configuring these parameters with
268435456or higher together. Note they depend on the memory of your MySQL server. You can increase the value more if the memory space is large.
innodb_temp_data_file_path- The recommended value is
ibtmp1:12M:autoextend:max:5G. Fine-tune the trailing parameter
5Gto fit your environment. This size is the maximum size of the temporary tablespace data.
The queries called by Sider Enterprise consume an in-memory temporary table, and it will be converted to an on-disk temporary table after the size exceeds the smaller of
max_heap_table_size. The temporary table file size will be extended with
innodb_temp_data_file_path, but the default value is
ibtmp1:12M:autoextend, which means the file will grow without limitation. Eventually, this would cause out of disk.
Integration with Sider Enterprise
DATABASE_URL of Sider Enterprise sees these items:
- USER - MySQL user name to be used when connecting to the server
- PASSWORD - The password to use when connecting to the server
- MYSQL_HOST - The host name of the MySQL server
- MYSQL_PORT - The port number of the MySQL server
- DATABASE_NAME - The database name for Sider Enterprise
When setting up your MySQL server, you will create USER and its PASSWORD first. Sider Enterprise will try to create the specified DATABASE_NAME unless it does not exist, so the USER should have strong privileges. If you don't want to pass such powerful permissions to the USER, create the DATABASE_NAME on your own, and allow the USER to do ALL operations only for the DATABASE_NAME.
Also, confirm Sider Enterprise services can access to the MySQL server via the specified MYSQL_HOST and MYSQL_PORT.