MySQL

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.

Plans and Pricing

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/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 $50/month for the 2 GB RAM/1 vCPU plan when you add at least one 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.

Inbound data transfer is included in the price of the cluster. Outbound data transfer billing is waived until December 2020, and will be billed at $0.01/GB per month thereafter.

Regional Availability

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.

Features

Managed Database Cluster Features

  • 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. Databases are automatically backed up every day, which lets you restore data to any point 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.

MySQL Features

  • 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.

Limits

Managed Database Cluster Limits

  • 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.

  • When you restore from a backup, you must restore to a new node and re-add any read-only or standby nodes. See How to Restore from Backups for details.

MySQL Limits

  • 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.

  • In order to maintain cluster stability, users cannot use the root user.

  • 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 SHOW VARIABLES;.

  • 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 525
    16 GB RAM 1,050
    32 GB RAM 2,175
    64 GB RAM 4,425

    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.

Known Issues

Managed Database Cluster Known Issues

  • 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.

Latest Updates

16 June 2020

5 June 2020

  • Beginning 04 June 2020, you are required to create a primary key for each new table in any DigitalOcean Managed MySQL Database to improve cluster performance.

28 April 2020

  • The DigitalOcean Virtual Private Cloud (VPC) service is now available for all customers. VPC replaces the private networking service. Existing private networks will continue to function as normal but with the enhanced security and features of the VPC service. See the description of VPC features for more information.

7 April 2020

For more information, see all MySQL release notes.