How to Relocate Database Clusters

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.


Relocating a database cluster changes which DigitalOcean datacenter hosts it. We recommend hosting your DigitalOcean resources in the same datacenter. This minimizes the latency in connections between them and helps improve performance.

Relocate a Database Cluster Using the CLI

Note
To migrate a database cluster using doctl, you need to provide a value for the --region flag. Use the doctl databases options regions command to get a list of available values.
How to migrate a database using the DigitalOcean CLI

To migrate a database via the command-line, follow these steps:

  1. Install doctl, the DigitalOcean command-line tool.

  2. Create a personal access token, and save it for use with doctl.

  3. Use the token to grant doctl access to your DigitalOcean account.

                  doctl auth init
                
  4. Finally, migrate a database with doctl databases migrate. The basic usage looks like this, but you'll want to read the usage docs for more details:

                  doctl databases migrate <database-cluster-id> [flags]
                
How to relocate a database cluster using the DigitalOcean CLI

To relocate a database cluster via the command-line, follow these steps:

  1. Install doctl, the DigitalOcean command-line tool.

  2. Create a personal access token, and save it for use with doctl.

  3. Use the token to grant doctl access to your DigitalOcean account.

                  doctl auth init
                
  4. Finally, relocate a database cluster with doctl databases migrate. The basic usage looks like this, but you'll want to read the usage docs for more details:

                  doctl databases migrate <database-cluster-id> [flags]
                

Relocate a Database Cluster Using the API

How to relocate a database cluster using the DigitalOcean API

To relocate a database cluster using the DigitalOcean API, follow these steps:

  1. Create a personal access token, and save it for use with the API.

  2. Send a PUT request to https://api.digitalocean.com/v2/databases/{database_cluster_uuid}/migrate

    cURL

    To relocate a database cluster with cURL, call:

    
                    curl -X PUT \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
      -d '{"region":"lon1"}' \
      "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/migrate"

    Go

    Go developers can use Godo, the official DigitalOcean V2 API client for Go. To relocate a database cluster with Godo, use the following code:

    
                    import (
        "context"
        "os"
    
        "github.com/digitalocean/godo"
    )
    
    func main() {
        token := os.Getenv("DIGITALOCEAN_TOKEN")
    
        client := godo.NewFromToken(token)
        ctx := context.TODO()
    
        migrateRequest := &godo.DatabaseMigrateRequest{
            Region: "lon1",
        }
    
        _, err := client.Databases.Migrate(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", migrateRequest)
    }

    Python

    
                    import os
    from pydo import Client
    
    client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))
    
    req = {
      "region": "lon1"
    }
    
    update_resp = client.databases.update_region(database_cluster_uuid="a7a8bas", body=req)

Relocate a Database Cluster using the Control Panel

To relocate a database cluster from the control panel, select your database cluster from the Databases page. Click the name of the cluster to go to its Overview page, then click the Settings tab.

Cluster settings page.

On the Settings page, in the Cluster datacenter section, click Edit. Select the region and datacenter to which you want to relocate your cluster.

Datacenter selection screen.

Click Save to begin the relocation process. The time to complete the relocation varies depending on the size of the cluster and its data.