Creación y administración de réplicas de lectura en Azure Database for MySQL mediante la CLI de Azure y API REST

SE APLICA A: Azure Database for MySQL: Servidor único

Importante

El servidor único de Azure Database for MySQL está en la ruta de retirada. Se recomienda encarecidamente actualizar al servidor flexible de Azure Database for MySQL. Para más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué ocurre con Azure Database for MySQL con servidor único?

En este artículo aprenderá a crear y administrar réplicas de lectura en el servicio Azure Database for MySQL mediante la CLI de Azure y API REST. Para más información acerca de las réplicas de lectura, consulte la introducción.

Azure CLI

Puede crear y administrar réplicas de lectura mediante la CLI de Azure.

Prerrequisitos

Importante

La característica de réplica de lectura solo está disponible para servidores de Azure Database for MySQL en los planes de tarifa De uso general u Optimizada para memoria. Asegúrese de que el servidor de origen esté en uno de estos planes de tarifa.

Creación de una réplica de lectura

Importante

Si el servidor de origen no tiene servidores de réplica existentes, es posible que el servidor de origen necesite reiniciarse para prepararse para la replicación en función del almacenamiento usado (v1/v2). Considere la posibilidad de reiniciar el servidor y realizar esta operación durante las horas de menos actividad. Consulte Reinicio del servidor de origen para obtener más detalles.

Si GTID está habilitado en un servidor principal (gtid_mode = ON), las réplicas recién creadas también tendrán GTID habilitado y usarán la replicación basada en GTID. Para obtener más información, consulte Identificador de transacción global (GTID).

Un servidor de réplica de lectura se puede crear mediante el comando siguiente:

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup

El comando az mysql server replica create requiere los siguientes parámetros:

Configuración Valor de ejemplo Descripción
resource-group  myresourcegroup  Grupo de recursos donde se creará el servidor de réplica. 
name mydemoreplicaserver Nombre del nuevo servidor de réplica que se crea.
source-server mydemoserver Nombre o identificador del servidor de origen existente desde el que se va a replicar.

Para crear una réplica de lectura entre regiones, use el parámetro --location. El siguiente ejemplo de la CLI crea la réplica en Oeste de EE. UU.

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus

Nota

Para más información sobre las regiones en las que puede crear una réplica, consulte el artículo sobre los conceptos de la réplica de lectura.

Nota

  • El comando az mysql server replica create tiene un argumento --sku-name que le permite especificar la SKU ({pricing_tier}_{compute generation}_{vCores}) mientras crea una réplica mediante la CLI de Azure.
  • El servidor principal y la réplica de lectura deben estar en el mismo plan de tarifa (De uso general u Optimizado para memoria).
  • Una vez creada, también se puede cambiar la configuración del servidor de réplica. Se recomienda mantener la configuración del servidor de réplica con valores iguales o mayores que el de origen para asegurarse de que la réplica funciona al mismo nivel que el servidor maestro.

Enumeración de las réplicas de un servidor de origen

Para ver todas las réplicas de un determinado servidor de origen, ejecute el siguiente comando:

az mysql server replica list --server-name mydemoserver --resource-group myresourcegroup

El comando az mysql server replica list requiere los siguientes parámetros:

Configuración Valor de ejemplo Descripción
resource-group  myresourcegroup  Grupo de recursos donde se creará el servidor de réplica. 
server-name mydemoserver Nombre o identificador del servidor de origen.

Detención de la replicación en un servidor de réplica

Importante

La detención la replicación en un servidor es irreversible. Una vez detenida la replicación entre un origen y una réplica, la operación no se puede deshacer. Después, el servidor de réplica se convierte en un servidor independiente que admite operaciones de lectura y escritura. Este servidor no puede volver a convertirse en una réplica.

La replicación de un servidor de réplica de lectura se puede detener mediante el comando siguiente:

az mysql server replica stop --name mydemoreplicaserver --resource-group myresourcegroup

El comando az mysql server replica stop requiere los siguientes parámetros:

Configuración Valor de ejemplo Descripción
resource-group  myresourcegroup  Grupo de recursos donde se encuentra el servidor de réplica. 
name mydemoreplicaserver Nombre del servidor de réplica para el que desea detener la replicación.

Eliminación de un servidor de réplica

La eliminación de un servidor de réplica de lectura se puede realizar mediante la ejecución del comando az mysql server delete .

az mysql server delete --resource-group myresourcegroup --name mydemoreplicaserver

Eliminación de un servidor de origen

Importante

Al eliminar un servidor de origen, se detiene la replicación en todos los servidores de réplica y se elimina el propio servidor de origen. Los servidores de réplica se convierten en servidores independientes que ahora admiten tanto lectura como escritura.

Para eliminar un servidor de origen, puede ejecutar el comando az mysql server delete .

az mysql server delete --resource-group myresourcegroup --name mydemoserver

API REST

Puede crear y administrar réplicas de lectura mediante API REST de Azure.

Creación de una réplica de lectura

Puede crear una réplica de lectura mediante la API de creación:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}"
  }
}

Nota

Para más información sobre las regiones en las que puede crear una réplica, consulte el artículo sobre los conceptos de la réplica de lectura.

Una réplica se crea con la misma configuración de proceso y almacenamiento que el servidor maestro. Después de crear una réplica, se pueden cambiar varios valores independientemente del servidor de origen: generación de proceso, núcleos virtuales, almacenamiento y período de retención de copias de seguridad. El plan de tarifa también se puede cambiar de forma independiente, excepto si es con origen o destino en el nivel Básico.

Importante

Antes de actualizar un valor de un servidor de origen a uno nuevo, actualice la configuración de réplica a un valor igual o superior. Esta acción ayuda a que la réplica haga frente a los cambios realizados en el servidor maestro.

Lista de réplicas

Puede ver la lista de réplicas de un servidor de origen mediante la API de lista de réplicas:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}/Replicas?api-version=2017-12-01

Detención de la replicación en un servidor de réplica

Puede detener la replicación entre un servidor de origen y una réplica de lectura mediante la API de actualización.

Después de detener la replicación entre un servidor de origen y una réplica de lectura, este proceso no se puede deshacer. La réplica de lectura se convierte en un servidor independiente que admite operaciones de lectura y escritura. Este servidor independiente no puede volver a convertirse en una réplica.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Eliminación de un servidor de origen o de réplica

Para eliminar un servidor de origen o de réplica, use la API de eliminación:

Cuando se elimina un servidor de origen, la replicación se detiene en todas las réplicas de lectura. Las réplicas de lectura se convierten en servidores independientes que ahora admiten tanto lectura como escritura.

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}?api-version=2017-12-01

Problema conocido

Hay dos generaciones de almacenamiento que usan los servidores de los niveles De uso general y Optimizado para memoria, Almacenamiento de uso general v1 (admite hasta 4 TB) y Almacenamiento de uso general v2 (admite almacenamiento de hasta 16 TB). El servidor de origen y el servidor de réplica deben tener el mismo tipo de almacenamiento. Como el Almacenamiento de uso general v2 no está disponible en todas las regiones, asegúrese de elegir la región de réplica correcta mientras usa la ubicación con la CLI o la API REST para la creación de réplicas de lectura. Para saber cómo identificar el tipo de almacenamiento del servidor de origen, consulte el vínculo ¿Cómo puedo determinar en qué tipo de almacenamiento se ejecuta mi servidor?.

Si elige una región en la que no puede crear una réplica de lectura para el servidor de origen, se producirá el problema por el que la implementación seguirá ejecutándose como se muestra en la ilustración siguiente y, a continuación, se agotará el tiempo de espera con el error "La operación de aprovisionamiento de recursos no se ha completado dentro del período de tiempo de espera permitido" .

Read replica cli error.

Pasos siguientes