MySQL is an open source, object-relational database built with speed and reliability in mind. Its large and active developer community has created many third-party applications, tools, and libraries that expand MySQL’s functionality.
There are two kinds of database cluster plans you can choose from: single node clusters and high availability clusters.
Single node clusters begin at $15.00 per month for a single node cluster with 1 GB of RAM. Single node clusters are not highly available, but they feature automatic failover. These clusters are a good fit for preliminary development and testing.
High availability clusters begin at $30.00 per month for a 2 GB RAM/1 vCPU primary node with at least one $20.00 per month matching standby node for automatic failover.
You can add or remove standby nodes at any time. Other features, like point-in-time recovery and read-only nodes, vary by database engine. Learn more about feature availability.
Read-only nodes begin at $10.00 per month. Read-only nodes are replicas of a cluster’s primary node located in additional geographical regions.
Inbound and outbound data transfer is included in the price of the cluster.
All managed databases are deployed onto Droplets. You can choose to deploy your managed database on a Droplet with a CPU that is shared with other DigitalOcean users, or deploy it on a machine with a dedicated CPU.
Learn more about shared CPU vs. dedicated CPU and the best use cases for each kind of plan in Choosing the Right Droplet Plan.
|Basic||Shared||1 - 8||1 - 16 GB RAM|
|General Purpose||Dedicated||2 - 40||8 - 160 GB RAM
4 GB RAM / vCPU
|Memory-Optimized||Dedicated||2 - 32||16 - 256 GB RAM
8 GB RAM / vCPU
|Storage-Optimized||Dedicated||2 - 32||16 - 256 GB RAM
8 GB RAM / vCPU
150 - 225 GB SSD / vCPU
Review the region availablity matrix to see which machine types are available for each region.
MySQL database clusters are in General Availability. Our regional availability matrix has more detail about our datacenter regions and product availability. Managed databases will not be offered in NYC2, AMS2, or SFO1.
Automatic updates. You can select a date and time during which weekly automatic updates for the database engine and operating system will occur to keep the service stable and secure.
Daily point-in-time backups. Full cluster backups are taken daily and write-ahead-logs are maintained to allow you to restore to any point-in-time within the previous seven days.
High availability with automated failover. In the event of a failure, managed databases with a standby node will automatically switch data handling to the standby node to prevent unplanned downtime. Learn more about high availability for managed databases.
End-to-end security. Data is encrypted at rest with LUKS and in transit with SSL.
Cluster metrics and alerting. Cluster metrics visualizations help you monitor the performance of the nodes in a database cluster, like resource usage, to guide capacity planning and optimization. Alert policies notify you when a metric rises above or falls below a threshold you set, like high CPU or low memory.
Read-only nodes. You can add read-only nodes in geographically disparate data centers.
Database metrics and query insights. MySQL-specific performance metrics help you assess the health of the database, pinpoint performance bottlenecks, and identify unusual use patterns that may indicate an application bug or security breach.
MySQL master server metrics include connection status, index vs. sequential reads, and operations throughput. MySQL database metrics include throughput and latency for fetches, inserts, deletes, and updates.
By default, you are limited to 10 clusters per account or team. If you reach this limit but need to create more database clusters, you can submit a request for a higher limit by clicking “Request Increase” on the window that shows when you attempt to create another cluster.
Each cluster is limited to 5 read-only nodes.
You cannot delete the default database and user.
Point-in-time-recovery (PITR) is limited to the last 7 days.
VPC networks are only available to resources, accounts, and teams in the same region as the VPC network,
You cannot resize cluster nodes to smaller sizes. To move from a bigger node to a smaller node, create a new cluster with the desired node size and import your data.
You cannot currently add DigitalOcean Cloud Firewalls to a database cluster’s trusted sources.
By default, database clusters only support 100 trusted sources. Each trusted source must resolve to a single IP address, and Droplets typically have two IP addresses (public and private). Therefore, if you are directly adding Droplets as a trusted source, adding 50 Droplets will reach the limit. If you need to add more than 100 trusted sources, contact DigitalOcean support.
We support only MySQL v8.
We do not support query statistics.
Connection pooling is not supported for MySQL.
You cannot change the storage engine for MySQL from InnoDB to MyISAM.
To maintain cluster stability, users cannot use the
The MySQL system variables are set depending upon the size of the cluster’s Droplets. You can’t edit them, but you can see what they are with
MySQL nodes can have up to 75 simultaneous connections per gigabyte of usable memory, rounded down to the nearest gigabyte. Usable memory is the total memory on the node minus approximately 350 MB of overhead for the operating system and management.
|Plan Size||Available Backend Connections|
|1 GB RAM||75|
|2 GB RAM||150|
|4 GB RAM||225|
|8 GB RAM||700|
|16 GB RAM||1,500|
|32 GB RAM||3,100|
|64 GB RAM||6,200|
max_connections is set to one connection higher to accommodate a system process that does not count against the node’s connection limit. For example, a 4 GB node has roughly 3.6 GB of usable memory. It can have up to 3 * 75 = 225 connections and its
max_connections is set to 226.
Each MySQL cluster allows 75 backend connections per 1 GB of usable memory. Usable memory is the total memory on the node minus the estimated 350 MiB used by the operating system. Usable memory is rounded to the nearest gigabyte.
You must use a third-party client to manage access control lists (ACLs). You can add users and databases from the DigitalOcean Control Panel.
You can’t use DigitalOcean’s Cloud Firewalls with managed databases. Until support is available, you can restrict access to nodes by their incoming IPv4 addresses.
Point-in-time-recovery (PITR) operations are limited to the last 7 days. The date picker doesn’t restrict you from choosing an earlier date; you will receive an error if you try to recover from a date outside of the 7-day window.
MySQL databases containing tables without a primary key and which contain more than 5000 rows may experience replication issues. To prevent this, DigitalOcean now requires you to add a primary key for each new table you create in any managed MySQL database created after 8 April 2020. We strongly recommend that you also add primary keys in existing databases to avoid replication issues.
Online migration is now available for the MySQL, PostgreSQL, and Redis database engines. Online migration allows you to migrate databases from external servers or cloud providers to databases in your DigitalOcean account.
You can now remove all global SQL modes from MySQL database clusters. Global SQL modes affect the SQL syntax MySQL supports and the data validation checks it performs.
Beginning 4 June 2020, you are required to create a primary key for each new table in any DigitalOcean Managed MySQL Database to improve cluster performance.
For more information, see all MySQL release notes.