Este tema describe cómo habilitar el registro binario para un clúster de PolarDB.
Contexto
PolarDB es una base de datos nativa de la nube totalmente compatible con MySQL. De forma predeterminada, utiliza registros físicos de alto nivel en lugar de registros binarios. Para integrarse mejor con el ecosistema de MySQL, PolarDB permite habilitar manualmente el registro binario. Una vez habilitado, puede conectarse a servicios de datos como ElasticSearch y AnalyticDB. También puede configurar la sincronización de datos en tiempo real desde PolarDB hacia RDS, desde RDS hacia PolarDB o entre clústeres de PolarDB.
Límites
Si su clúster de PolarDB se creó después del 5 de abril de 2019, puede habilitar el registro binario directamente. Si el clúster de PolarDB se creó antes de esa fecha, primero debe actualizar la versión secundaria del clúster a la más reciente. Para obtener más información sobre cómo actualizar la versión secundaria, consulte Minor version management.
Facturación
Los archivos de registro binario ocupan parte del espacio de almacenamiento del clúster y generan cargos por almacenamiento. Puede ajustar el espacio que ocupan estos archivos al configurar el periodo de retención del registro binario.
Ejemplos de facturación
Subscription
Si su clúster ya cuenta con el tipo de almacenamiento subscription-based, no se generan cargos adicionales siempre que el espacio de almacenamiento sea suficiente.

Pay-as-you-go
Si su clúster ya cuenta con el tipo de almacenamiento pay-as-you-go, el espacio del registro binario se cobra únicamente según el almacenamiento real que ocupen los datos.

Notas de uso
El registro binario está deshabilitado de forma predeterminada. Al habilitarlo, el clúster se reinicia automáticamente. Por lo general, el reinicio se completa en menos de 5 minutos. Durante este proceso, los servicios experimentan una interrupción transitoria de aproximadamente 40 segundos. La duración exacta depende del volumen de datos y de la cantidad de tablas. Se recomienda ejecutar esta operación fuera del horario de mayor actividad y asegurarse de que sus aplicaciones cuenten con un mecanismo de reconexión.
Una vez habilitado el registro binario, el rendimiento de escritura disminuye, mientras que el de lectura no se ve afectado. En la mayoría de los casos, el impacto en el rendimiento no supera el 10 %. Bajo una carga extrema, puede alcanzar el 40 %. Para obtener más información, consulte FAQ.
Al extraer, suscribirse o sincronizar registros binarios (por ejemplo, mediante herramientas como DTS), se recomienda utilizar el PolarDB Primary Endpoint, ya que apunta directamente al nodo primario que genera los registros binarios. Esto ofrece mejor compatibilidad y estabilidad. Para obtener más información sobre cómo consultar el Primary Endpoint, consulte View endpoints and ports.
Cuando el registro binario está habilitado y la base de datos envía una transacción de gran tamaño, se bloquea el envío de otras transacciones. Esto puede afectar la duración del reinicio y del cambio de especificaciones del clúster.
-
El parámetro loose_polar_log_bin descrito en este tema opera a nivel global. Para usar el registro binario a nivel de sesión, debe habilitar el parámetro sql_log_bin.
NotaEl parámetro sql_log_bin controla si se habilita el registro binario a nivel de sesión. De forma predeterminada, este parámetro está deshabilitado. Para habilitarlo, vaya al Centro de cuotas. Busque la fila cuyo nombre de cuota sea polardb sql_log_bin parameter permission. En la columna Actions, haga clic en Apply para habilitarlo.
Si utiliza DTS para migrar de RDS a PolarDB, el registro binario se habilita automáticamente.
Los registros binarios solo registran los cambios de datos que ocurren después de habilitar esta función. Las operaciones INSERT, DELETE y UPDATE ejecutadas antes no se guardan en los archivos de registro binario.
Habilitar el registro binario
Habilitar el registro binario al comprar un clúster nuevo
Al crear un clúster, seleccione la opción Cluster Configurations en la casilla de verificación Enable Binary Logging. Para obtener más información, consulte Custom Purchase y Purchase a subscription cluster.
Habilitar el registro binario en clústeres existentes
Una vez habilitado el registro binario, el clúster se reinicia automáticamente. El reinicio se completa en menos de 5 minutos. Durante este proceso, los servicios experimentan una interrupción transitoria de aproximadamente 40 segundos. La duración exacta depende del volumen de datos y de la cantidad de tablas. Se recomienda ejecutar esta operación fuera del horario de mayor actividad y asegurarse de que sus aplicaciones cuenten con un mecanismo de reconexión.
Inicie sesión en la consola de PolarDB. En el panel de navegación izquierdo, haga clic en Clusters. Seleccione la Region donde se despliega el clúster y luego haga clic en el ID del clúster para ir a la página de detalles.
-
Puede habilitar el registro binario mediante uno de los siguientes métodos:
-
Método 1:
Vaya a la página Binary Logs del clúster.
Haga clic en Enable Now.
-
En el cuadro de diálogo Enable Binary Logging, establezca el momento de aplicación en Now o Scheduled.
NotaSi elige Scheduled, especifique el momento de aplicación.
Haga clic en OK.
-
Método 2: habilite el registro binario al configurar el parámetro loose_polar_log_bin.
En el panel de navegación izquierdo, elija .
-
Busque el parámetro loose_polar_log_bin y modifique su valor. Para obtener más información, consulte Modify parameter values.
NotaSi la versión de su clúster de PolarDB for MySQL es MySQL 5.6, cambie el valor actual a ON_WITH_GTID;
Si la versión de su clúster de PolarDB for MySQL es MySQL 5.7 o MySQL 8.0, cambie el valor actual a ON.
-
Deshabilitar el registro binario
Inicie sesión en la consola de PolarDB. En el panel de navegación izquierdo, haga clic en Clusters. Seleccione la Region donde se despliega el clúster y luego haga clic en el ID del clúster para ir a la página de detalles.
-
Puede deshabilitar el registro binario mediante uno de los siguientes métodos:
-
Método 1:
Vaya a la página Binary Logs del clúster.
Haga clic en Disable Binary Logging.
-
En el cuadro de diálogo Disable Binary Logging, establezca el momento de aplicación en Now o Scheduled. También puede elegir si selecciona Clear Local Binary Logs.
NotaSi elige Scheduled, especifique el momento de aplicación.
Haga clic en OK.
-
Método 2: deshabilite el registro binario al configurar el parámetro loose_polar_log_bin.
En el panel de navegación izquierdo, elija .
-
Busque el parámetro loose_polar_log_bin y modifique su valor. Para obtener más información, consulte Modify parameter values.
NotaSi la versión de su clúster de PolarDB for MySQL es MySQL 5.6, cambie el valor actual a OFF_WITH_GTID;
Si la versión de su clúster de PolarDB for MySQL es MySQL 5.7 o MySQL 8.0, cambie el valor actual a OFF.
Al deshabilitar el registro binario, los archivos existentes se conservan. Se recomienda acortar primero el periodo de retención, esperar a que se eliminen automáticamente los archivos innecesarios y luego deshabilitar el registro binario.
-
Periodo de retención del registro binario
Directivas de retención
Los archivos de registro binario cuentan con las siguientes dos directivas de retención:
-
Una vez habilitado el registro binario, los archivos se conservan durante 3 días de forma predeterminada. Los archivos con más de 3 días de antigüedad se eliminan automáticamente.
NotaPara los clústeres de PolarDB for MySQL adquiridos antes del 23 de noviembre de 2023, los archivos de registro binario se conservan durante dos semanas (14 días) de forma predeterminada.
Para los clústeres de PolarDB for MySQL adquiridos antes del 17 de enero de 2024, los archivos de registro binario se conservan durante una semana (7 días) de forma predeterminada.
Al deshabilitar el registro binario, los archivos existentes se conservan y no se eliminan automáticamente.
Modificar el periodo de retención
Modificar el periodo de retención del registro binario no provoca interrupciones transitorias ni requiere reiniciar el clúster.
Sin embargo, si esta modificación provoca la eliminación de un gran volumen de archivos (por ejemplo, 10 TB), pueden ocurrir excepciones temporales de escritura en la base de datos durante la limpieza. Por lo tanto, cuando el volumen de archivos es grande, se recomienda ejecutar esta operación fuera del horario de mayor actividad. Además, conviene acortar el periodo de retención en varios pasos para eliminar una parte de los datos cada vez.
Los archivos de registro binario eliminados no se pueden recuperar.
-
Si el registro binario está habilitado en su clúster, puede modificar el periodo de retención mediante uno de los siguientes métodos:
Si la versión del clúster es PolarDB for MySQL 5.6, modifique el parámetro loose_expire_logs_hours (rango de valores: de 0 a 2376, unidad: horas, valor predeterminado: 72) para establecer el periodo de retención. Un valor de 0 significa que los archivos no se eliminan automáticamente. Para obtener más información sobre la configuración de parámetros, consulte Modify parameter values.
-
Si la versión del clúster es PolarDB for MySQL 5.7 u 8.0, modifique el parámetro binlog_expire_logs_seconds (rango de valores: de 0 a 4294967295, unidad: segundos, valor predeterminado: 259200) para establecer el periodo de retención. Un valor de 0 significa que los archivos no se eliminan automáticamente. Para obtener más información sobre la configuración de parámetros, consulte Modify parameter values.
ImportanteDespués de modificar los valores de estos dos parámetros para establecer el periodo de retención, los archivos existentes en el clúster no se eliminan de inmediato. Para eliminarlos, utilice uno de los siguientes métodos:
Cuando el último archivo de registro binario del clúster alcanza el tamaño
max_binlog_size, el sistema cambia a un archivo nuevo y los anteriores se eliminan automáticamente.Utilice una cuenta con privilegios para ejecutar el comando flush binary logs. Esto activa de inmediato un cambio de archivo y elimina los registros caducados.
También puede reiniciar el clúster. Después del reinicio, los archivos existentes se eliminan automáticamente.
Si el registro binario no está habilitado en su clúster y desea eliminar los archivos, vuelva a Enable binary logging. Luego, configure el parámetro de retención (loose_expire_logs_hours o binlog_expire_logs_seconds) con un valor pequeño. Espere a que los archivos se eliminen automáticamente al vencer el periodo de retención y, finalmente, deshabilite el registro binario.
Obtener y consultar registros binarios
Puede utilizar la herramienta mysqlbinlog para consultar y analizar sintácticamente los registros binarios. Para obtener más información, consulte Remotely obtain and parse the binary log files of a PolarDB for MySQL cluster.
Preguntas frecuentes
-
P: ¿Cuánto tiempo se conservan los archivos de registro binario?
R: Si el registro binario está habilitado en su clúster, los archivos se conservan durante 3 días de forma predeterminada. Los archivos con más de 3 días de antigüedad se eliminan automáticamente.
NotaPara los clústeres de PolarDB for MySQL adquiridos antes del 23 de noviembre de 2023, los archivos de registro binario se conservan durante dos semanas (14 días) de forma predeterminada.
Para los clústeres de PolarDB for MySQL adquiridos antes del 17 de enero de 2024, los archivos de registro binario se conservan durante una semana (7 días) de forma predeterminada.
Si el registro binario está deshabilitado en su clúster, los archivos existentes se conservan y no se eliminan automáticamente.
NotaPuede modificar el periodo de retención en los clústeres con el registro binario habilitado al cambiar los parámetros correspondientes. Para obtener más información, consulte Binary log retention period.
-
P: ¿Qué significa el mensaje de error
Could not find first log file name in binary log index file?R:
Could not find first log file name in binary log index fileEste mensaje indica que los registros binarios ya se limpiaron. Los registros eliminados no se pueden recuperar. -
P: ¿Puedo deshabilitar el registro binario después de haberlo habilitado?
R: Establezca el parámetro loose_polar_log_bin en OFF y envíe el cambio.
NotaAl deshabilitar el registro binario, los archivos existentes se conservan. Puede acortar primero el periodo de retención, esperar a que se eliminen automáticamente los archivos innecesarios y luego deshabilitar el registro binario.
-
P: ¿Cómo reduzco el espacio de almacenamiento que ocupan los registros binarios?
R: Configure el parámetro de retención (loose_expire_logs_hours o binlog_expire_logs_seconds) con un valor pequeño para reducir el espacio de almacenamiento que ocupan los archivos.
-
P: ¿Cuánto afecta el rendimiento habilitar el registro binario?
R: Habilitar el registro binario no afecta el rendimiento de las consultas (SELECT). Solo impacta el rendimiento de escritura y actualización (INSERT, UPDATE, DELETE, etc.). En la mayoría de los casos, el impacto no supera el 10 %. Bajo una carga extrema, puede alcanzar el 40 %.
-
P: Una vez habilitado el registro binario, el clúster se reinicia automáticamente. ¿Cuánto tarda el reinicio?
R: Por lo general, el reinicio se completa en menos de 5 minutos. Durante este proceso, los servicios experimentan una interrupción transitoria de aproximadamente 40 segundos. La duración exacta depende del volumen de datos y de la cantidad de tablas. Se recomienda ejecutar esta operación fuera del horario de mayor actividad y asegurarse de que sus aplicaciones cuenten con un mecanismo de reconexión.
-
P: ¿Cómo obtengo y consulto de forma remota el contenido de los registros binarios?
R: Para obtener más información, consulte Remotely obtain and parse the binary log files of a PolarDB for MySQL cluster.
-
P: ¿Por qué no puedo usar la función Perform lockless schema changes using lockless change tickets de DMS para aplicar cambios de esquema, como agregar índices, en clústeres de PolarDB for MySQL?
R: El registro binario está deshabilitado de forma predeterminada en los clústeres de PolarDB for MySQL. Para usar la función de cambio de esquema sin bloqueo de DMS, primero debe habilitar el registro binario en su clúster de PolarDB for MySQL. Si prefiere no habilitarlo, también puede usar comandos DDL en línea para modificar el esquema de la tabla.
-
P: ¿Puedo usar canal para capturar cambios de MySQL después de habilitar el registro binario?
R: Sí, puede usar canal para capturar cambios de MySQL.
-
P: ¿Afecta el rendimiento del clúster ejecutar la instrucción
SHOW BINARY LOGSpara consultar el tamaño de los archivos de registro binario?R: No. La instrucción
SHOW BINARY LOGSes una operación de gestión y casi no tiene impacto en el rendimiento del clúster. No afecta directamente el rendimiento de lectura y escritura de la base de datos como lo hacen las operaciones de escritura de datos (INSERT, UPDATE y DELETE). Por lo tanto, puede usar este comando con confianza. -
P: ¿Cómo consulto la última hora de escritura de los registros binarios en PolarDB for MySQL?
R: Utilice la instrucción
show full binary logspara consultar el nombre, el tamaño y la última hora de escritura de todos los archivos de registro binario.NotaEsta función es compatible con los clústeres de PolarDB for MySQL que cumplen los siguientes requisitos:
MySQL 8.0.2, con una versión secundaria 8.0.2.2.0 o posterior.
MySQL 8.0.1, con una versión secundaria 8.0.1.1.14 o posterior.
MySQL 5.7, con una versión secundaria 5.7.1.0.27 o posterior.
MySQL 5.6, con una versión secundaria 5.6.1.0.38 o posterior.
-
P: ¿Cómo consulto el contenido de los registros binarios en un momento específico en PolarDB for MySQL?
R: No es posible especificar directamente una hora para respaldar los datos. Primero ejecute point-in-time recovery y luego analice sintácticamente los registros binarios para consultar el contenido.