Muchas gracias a todos los que se registraron y/o participaron en el seminario web del martes sobre estrategias de respaldo y mejores prácticas para clústeres de MySQL, MariaDB y Galera, dirigido por Krzysztof Książek, ingeniero de soporte sénior en Variousnines. Si se perdió la sesión, le gustaría volver a verla o navegar por las diapositivas, ahora están en línea para verlas. Consulte también la transcripción de la sesión de preguntas y respuestas a continuación.
Vea la repetición del seminario web
Tanto si es un administrador de sistemas, DBA o DevOps profesional que opera clústeres de MySQL, MariaDB o Galera en producción, debe asegurarse de que sus copias de seguridad estén programadas, ejecutadas y probadas regularmente. Krzysztof compartió ayer algunos de sus consejos y trucos de mejores prácticas clave sobre cómo hacer precisamente eso; incluyendo una demostración en vivo con ClusterControl. En resumen, esta repetición del seminario web le muestra los pros y los contras de las diferentes opciones de copia de seguridad y lo ayuda a elegir la que mejor se adapte a su entorno.
¡Feliz copia de seguridad!
Preguntas y respuestas
P. ¿Podemos controlar la E/S mientras realizamos las copias de seguridad con mysqldump y mysqldumper (he usado nice antes, pero no fue útil)?
R. En teoría, podría ser posible, aunque en realidad no lo hemos probado. Si realmente desea aplicar un poco de aceleración, puede que desee ver cgroups; debería ayudarlo a acelerar la actividad de E/S por proceso.
P. ¿Podemos usar mydumper con ClusterControl y ClusterControl es un software gratuito?
R. Actualmente no lo admitimos, pero siempre puede usarlo manualmente; ClusterControl no le impide usar esta herramienta. Hay una versión comunitaria gratuita de ClusterControl, sí, aunque sus funciones de copia de seguridad son parte de la versión comercial. Con la versión comunitaria gratuita, puede implementar y monitorear su base de datos (clústeres), así como desarrollar sus propios asesores de base de datos personalizados. También tiene un período de prueba de un mes que le da acceso a todas las funciones de ClusterControl. Puede encontrar todos los detalles de la función aquí:https://severalnines.com/pricing
P. ¿Puede xtrabackup funcionar con el cifrado de datos en reposo?
R. Puede funcionar con datos cifrados en MySQL o Percona Server; se debe a que solo cifran espacios de tabla, que xtrabackup solo copia; no tiene que acceder al contenido de los espacios de tabla. MariaDB cifra no solo los espacios de tabla sino también, por ejemplo, los registros de rehacer de InnoDB, a los que debe acceder xtrabackup; por lo tanto, xtrabackup no puede funcionar con el cifrado de datos en reposo tal como se implementa en MariaDB. Debido a esto, MariaDB Corporation bifurcó xtrabackup en MariaDB Backup. Esta herramienta admite el cifrado realizado por MariaDB.
P. ¿Se puede usar mydumper para la recuperación en un momento dado?
R. Sí, es posible. mydumper puede almacenar datos GTID para que pueda identificar la última transacción aplicada y utilizarla como punto de partida para procesar registros binarios.
P. ¿Es un problema si usamos registros binarios con xtrabackup con fecha y hora de inicio y fecha y hora de finalización en lugar de posición de inicio y posición de finalización? Hacemos una copia de seguridad completa los viernes y cada dos días una copia de seguridad incremental. Cuando necesitamos recuperar, tomamos la última copia de seguridad completa e incremental y los registros binarios de este día a partir de las 00:00 hasta AHORA... ¿podría haber un problema con apply-log?
R. En general, no debe usar --start-datetime o --end-datetime cuando desee responder un registro binario en la base de datos. No es lo suficientemente granular:tiene una resolución de un segundo y podría haber muchas transacciones que ocurrieron durante ese segundo. Puede usarlo para minimizar el período de tiempo para buscar manualmente, pero eso es todo. Si desea reproducir registros binarios, debe usar --start-position y --end-position. Solo esto definirá con precisión a partir de qué evento reproducirá binlogs y en qué evento terminará.
P. ¿Debo ejecutar el software de volcado en el balanceador de carga o en uno de los nodos de MySQL?
R. Por lo general, lo usará en los nodos de MySQL. Algunas de las herramientas solo pueden hacer eso. Por ejemplo, Xtrabackup:debe ejecutarlo localmente, en el host de la base de datos. Puede transmitir la salida a otra ubicación, pero debe iniciarse localmente.
P. ¿Podemos realizar copias de seguridad parciales con ClusterControl? Y si es así, ¿cómo podemos restaurar una copia de seguridad en una instancia en ejecución?
R. Sí, puede realizar una copia de seguridad parcial mediante ClusterControl (puede realizar una copia de seguridad de un esquema independiente mediante xtrabackup), pero, a partir de ahora, no puede restaurar una copia de seguridad parcial en una instancia en ejecución. Esto se debe al hecho de que el esquema que recuperaría no será coherente con el resto del clúster. Para que sea consistente, el clúster debe arrancarse desde el nodo en el que restauró una copia de seguridad. Entonces, técnicamente, el nodo funciona todo el tiempo, pero es una operación bastante pesada e invasiva. Esto cambiará en la próxima versión de ClusterControl en la que podrá restaurar las copias de seguridad en un host separado. Desde ese host, puede volcar el contenido de un esquema restaurado utilizando mysqldump (o mydumper) y restaurarlo en un clúster de producción.
P. ¿Puede compartir el comando mysqldumper?
R. Es bastante difícil responder a esta pregunta sin copiar y pegar de la documentación, por lo que creemos que sería mejor si le indicamos la documentación:https://github.com/maxbube/mydumper/tree/ maestro/docs
Vea la repetición del seminario web
Documento técnico relacionado La guía DevOps para copias de seguridad de bases de datos para MySQL y MariaDBEste documento técnico analiza las dos utilidades de copia de seguridad más populares disponibles para MySQL y MariaDB, a saber, mysqldump y Percona XtraBackup.Download