This section provides the steps to set up a MySQL-compatible (MariaDb) server on an Amazon Web Services (AWS) Relational Database Service (RDS). Persephone will work with MySQL-compatible databases and we highly recommend to use MariaDb - in our tests, it appears more reliable and much faster than MySQL.

  1. Open an AWS account with an AWS master account named, for example, "AWSME".

Tip

You can sign up for an Amazon AWS account by navigating to https://portal.aws.amazon.com/gp/aws/developer/registration/index.html and then follow the directions on the screen.

  1. Login to AWS as master user AWSME and create an AWS Identity and Access Management (IAM) user account named, for example, "PERSEPHONE".

Tip

Refer to Amazon's "To create an IAM user for yourself" section on the Creating an Administrators Group Using the Console page for more information.

  1. Create a MariaDb RDS database named, for example, "PERSDB" (with sufficient storage space and processing power) with IAM user PERSEPHONE as the master user.

Please ensure that you use the following parameters (see RDS's Parameter groups pages, create a new Parameter group if necessary), which are different from default:

character_set_database='utf8'
character_set_server='utf8'
lower_case_table_names=1
log_bin_trust_function_creators=1

Other parameters can have the default values set by Amazon RDS.

  1. The rest of the set up process is common for Amazon RDS-based or local MariaDb instance and is described here.
  2. For your reference, here is the list of other parameters that might improve the database performance:

Parameter

Value

character_set_server

utf8

innodb_log_file_size

268435456

innodb_strict_mode

1

join_buffer_size

1048576

log_bin_trust_function_creators

1

long_query_time

1

lower_case_table_names

1

max_allowed_packet

16777216

max_connections

400

max_heap_table_size

16777216

slow_query_log

1

sql_mode

STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO,ERROR_FOR_DIVISION_BY_ZERO,ONLY_FULL_GROUP_BY

tmp_table_size

16777216

tx_isolation

READ-COMMITTED

net_write_timeout

3600

net_read_timeout

3600