MySQL Requirements

Native MySQL installation

Stages supports MySQL 5.7 and 8.0 Community Editions.

The following settings are highly recommended:

character-set-server=utf8
max_allowed_packet=500M
innodb_lock_wait_timeout=600
transaction-isolation=READ-COMMITTED
lower_case_table_names=1
sql-mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
default-time-zone="+00:00"

Stages uses the INNODB engine. This can have impact on the server backup strategy, because INNODB files tend to become very large.

If you run Stages with a MySQL database and have a virus scanner installed on the same server, please make sure that the virus scanner is not scanning the database directory as this might lead to database inconsistencies. This problem is a known MySQL error and Oracle is advising to proceed as described.

The Windows 7 search feature causes the same kind of problems as a virus scanner. Please disable this feature on the Stages server.

Azure MySQL DB

For installing Stages with the Azure MySQL DB, all of the above applies as well.

In addition, the log_bin_trust_function_creators parameter of Azure MySQL DB must be set to 1. See here for more info.

The connection timeout for Azure MySQL DB might be set very low. If you see connection errors after a while, you should set the connection timeout for Stages to 100 seconds via

torque.database.default.expiryTime=100000

in database.properties.

AWS RDS for MySQL

All of the native MySQL and Azure MySQL DB requirements from above also apply to AWS RDS.

Required MySQL permissions

The Stages user needs the following permissions for the database that is configured in database.properties

  • ALTER, CREATE, DELETE, DROP, INDEX, INSERT, REFERENCES, SELECT, TRIGGER, UPDATE

Additionally, one of the following is required:

  • The SUPER privilege, globally:
    GRANT SUPER ON *.* TO 'stages'@'localhost';
  • If this is not desirable, binary logging has to be disabled. Add the following line to the MySQL configuration file:
    disable_log_bin=1