MySQL Limits

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.

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.

  • 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 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 currently add DigitalOcean Cloud Firewalls to a database cluster’s trusted sources.

  • By default, database clusters only support up to 100 IP addresses as trusted sources. Different types of resources add varying numbers of IP addresses to your cluster. For example, Droplets typically have two IP addresses, one public and one private, both of which count towards the 100-address maximum. To add more than 100 IP addresses, contact support.

  • You cannot migrate databases from clusters inside of DigitalOcean to other clusters inside of DigitalOcean using the online migration feature.

  • You currently cannot add IPv6 rules 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

  • Each cluster is limited to 3 nodes.

  • We only support 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 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 (for plans under 4 GiB) or 100 (for plans greater than or equal to 4 GiB) 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 GiB RAM 75
    2 GiB RAM 150
    4 GiB RAM 225
    8 GiB RAM 525
    16 GiB RAM 1,050
    32 GiB RAM 2,175
    64 GiB RAM 4,425
    128 GiB RAM 9,601
    160 GiB RAM 12,001
    192 GiB RAM 14,401
    256 GiB RAM 19,201

    max_connections for a given node is one higher than the available backend connections for its plan, to accommodate an extra system process that does not count against the node’s connection limit. For example, max_connections for a 4 GiB node is 401.

  • We do not currently support migrating managed database clusters on DigitalOcean to other managed database clusters on DigitalOcean. For example, you cannot migrate a managed database cluster from one DigitalOcean account to another.

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, by default, 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. You can override this requirement by making a configuration request via our API.

  • Additional storage can cause slight performance degradation in database clusters.