How to create and manage read replicas in Azure Database for MariaDB using PowerShell

In this article, you learn how to create and manage read replicas in the Azure Database for MariaDB service using PowerShell. To learn more about read replicas, see the overview.

Azure PowerShell

You can create and manage read replicas using PowerShell.

Prerequisites

To complete this how-to guide, you need:

Important

While the Az.MariaDb PowerShell module is in preview, you must install it separately from the Az PowerShell module using the following command: Install-Module -Name Az.MariaDb -AllowPrerelease. Once the Az.MariaDb PowerShell module is generally available, it becomes part of future Az PowerShell module releases and available natively from within Azure Cloud Shell.

If you choose to use PowerShell locally, connect to your Azure account using the Connect-AzAccount cmdlet.

Use Azure Cloud Shell

Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. You can use either Bash or PowerShell with Cloud Shell to work with Azure services. You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

To start Azure Cloud Shell:

Option Example/Link
Select Try It in the upper-right corner of a code block. Selecting Try It doesn't automatically copy the code to Cloud Shell. Example of Try It for Azure Cloud Shell
Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Launch Cloud Shell in a new window
Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Cloud Shell button in the Azure portal

To run the code in this article in Azure Cloud Shell:

  1. Start Cloud Shell.

  2. Select the Copy button on a code block to copy the code.

  3. Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Select Enter to run the code.

Important

The read replica feature is only available for Azure Database for MariaDB servers in the General Purpose or Memory Optimized pricing tiers. Ensure the source server is in one of these pricing tiers.

Create a read replica

Important

When you create a replica for a source that has no existing replicas, the source will first restart to prepare itself for replication. Take this into consideration and perform these operations during an off-peak period.

A read replica server can be created using the following command:

Get-AzMariaDbServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  New-AzMariaDbServerReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

The New-AzMariaDbServerReplica command requires the following parameters:

Setting Example value Description  
ResourceGroupName  myresourcegroup  The resource group where the replica server is created. 
Name mydemoreplicaserver The name of the new replica server that is created.

To create a cross region read replica, use the Location parameter. The following example creates a replica in the West US region.

Get-AzMariaDbServer -Name mrdemoserver -ResourceGroupName myresourcegroup |
  New-AzMariaDServerReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup -Location westus

To learn more about which regions you can create a replica in, visit the read replica concepts article.

By default, read replicas are created with the same server configuration as the source unless the Sku parameter is specified.

Note

It is recommended that the replica server's configuration should be kept at equal or greater values than the source to ensure the replica is able to keep up with the master.

List replicas for a source server

To view all replicas for a given source server, run the following command:

Get-AzMariaDReplica -ResourceGroupName myresourcegroup -ServerName mydemoserver

The Get-AzMariaDReplica command requires the following parameters:

Setting Example value Description  
ResourceGroupName  myresourcegroup  The resource group where the replica server will be created to. 
ServerName mydemoserver The name or ID of the source server.

Delete a replica server

Deleting a read replica server can be done by running the Remove-AzMariaDbServer cmdlet.

Remove-AzMariaDbServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

Delete a source server

Important

Deleting a source server stops replication to all replica servers and deletes the source server itself. Replica servers become standalone servers that now support both read and writes.

To delete a source server, you can run the Remove-AzMariaDbServer cmdlet.

Remove-AzMariaDbServer -Name mydemoserver -ResourceGroupName myresourcegroup

Next steps