Each WordPress VIP Platform environment is supported by a unique database running MariaDB 10.3.x. Unique databases per-environment allows testing to be performed on non-production environments without impacting the production environment.
On the 6th of February 2023, an upgrade process to MySQL 8 will begin for all non-production WordPress environment databases. On the 13th of March 2023, an upgrade to MySQL 8 will begin for productions databases. More details about this upgrade can be reviewed in the related VIP Lobby announcement.
- The default setting for
DB_COLLATEis defined as
utf8mb4_unicode_ci. In order for a SQL file to successfully be imported to a VIP database, it must use supported collation and character sets.
- A data sync can be run from the production database to a non-production database through the VIP Dashboard or with the VIP-CLI command:
vip sync [options]
- Databases for production environments are backed up every hour, including custom tables, and non-production databases are backed up daily.
- Database backups available for download in the VIP Dashboard differ slightly different from the automated backups that are created and stored internally by VIP. VIP’s master database backups are encrypted at rest before being replicated to Amazon AWS S3 utilizing encryption in transit and retained for 30 days.
- VIP uses Automattic’s HyperDB db.php. No other db.php drop-ins can be used on the platform.
- HyperDB is configured to send writes to an environment’s master database and sends reads to database replicas.
wp db *commands are disallowed on VIP.
- Direct database queries in code should be avoided whenever possible. WordPress API functions for fetching and manipulating data should be used instead.
Use caution when adding custom tables to a VIP Platform environment’s database.
- To prevent unexpected issues, all tables should begin with the
dbDeltaas part of an upgrade routine to add/update the table.
- Do a thorough analysis of the schema and indexes and validate against the queries being run to ensure they match up.
- Add caching to queries where it makes sense.
Last updated: February 06, 2023