Setting Up MySQL#

Use the mysql utility to create the database and user account. Note that the -p option is usually required. You must use the -p option if the account you are accessing requires a password, but you should not use the -p option if the account you are accessing does not require a password. If you do not provide the -p option, yet the account requires a password, the mysql utility will not prompt for a password and will fail to authenticate.

Most users can start the mysql utility with the following shell command, using any login account:

$ mysql -u root -p

Here are some sample SQL statements for creating the user and database:

CREATE USER 'zodbuser'@'localhost' IDENTIFIED BY 'mypassword';
CREATE DATABASE zodb;
GRANT ALL ON zodb.* TO 'zodbuser'@'localhost';
FLUSH PRIVILEGES;

See the RelStorage option blob-chunk-size for information on configuring the server’s max_allowed_packet value for optimal performance.

Note

Granting SELECT access to the performance_schema to this user is highly recommended. This will allow RelStorage to present helpful information when it detects a lock failure in MySQL 8. In earlier versions, access to sys.innodb_lock_waits is suggested.