[MySQL] binlog tres formatos Introducción y Análisis

Hay tres MySQL registro binlog línea del extracto mezclado.

Declaración

Cada SQL modificará los datos registrados en el log binario.

Ventajas: la variación de cada fila no necesitan ser registrados, reduciendo la cantidad de binlog registro, los ahorros IO, un rendimiento mejorado. (Número de fila en comparación con la cantidad de energía de ahorro de los registros de rendimiento, dependiendo de la aplicación SQL, la edición normal o inserción de la misma cantidad de formato generado entrada de registro fila es menor que la cantidad de Declaración de los registros generados también, pero si teniendo en cuenta las condiciones de actualización con operación, así como eliminar la tabla entera, de modificación de tabla y otras operaciones, formato de fila producirá un registro de gran tamaño, y por lo tanto se debe considerar de acuerdo a la situación real con la aplicación, ingrese la cantidad que producen aumentará el número de si se debe utilizar el formato de fila del registro, y trajo IO problemas de rendimiento.)

Contras: Dado que sólo ejecutar la instrucción, estas declaraciones con el fin de funcionar correctamente en el esclavo, cada declaración deben también registrar alguna información en el curso de la ejecución, con el fin de garantizar que todas las declaraciones se ejecutan en el maestro y el esclavo al final, cuando el mismo registro resultados. En la replicación MySQL Además, como función de algunas funciones específicas, esclavo y el maestro puede ser consistente habrá muchos temas relacionados (tal función como sleep (), LAST_INSERT_ID (), se produce, así como funciones definidas por el usuario (UDF) problema).

Las siguientes funciones no se pueden copiar declaración:

  • CARGAR ARCHIVO()

  • UUID ()

  • USUARIO()

  • FOUND_ROWS ()

  • SYSDATE () (a menos que se habilita el inicio --sysdate-es-ahora opcional)

Y producirá más de RBR bloqueo de filas en INSERT ... SELECT

Fila

instrucción SQL no se graba información de contexto, que guarda sólo los registros modificados.

Pros: la información contextual no se pueden grabar en la instrucción SQL binlog se ejecuta, sólo es necesario dejar constancia de que un registro se modifica en nada. Así escritura en registro rowlevel contenido va a ser muy claros los detalles de cada línea de las modificaciones de datos bajo. Y el proceso no se almacenará en ciertas circunstancias específicas, o función, y los problemas que desencadenan la llamada y disparadores no se puede reproducir correctamente

Contras: Todas las declaraciones realizadas cuando se registra cuando todos se modifique cada línea para grabar el disco, esto puede generar una gran cantidad de contenido de registro, tales como una instrucción de actualización para modificar varios registros en cada uno de los binlog se registrarán cambios, por lo que causa log binlog tendrá una cantidad significativa, especialmente cuando se realizan tales declaraciones de mesa alterar, debido estructura de la tabla Modificar, se cambia cada registro, entonces la tabla se registrará cada registro .

Mixedlevel:

Es una mezcla de dos o más clases de nivel, utilizando las modifica la declaración general de la DECLARACIÓN DE binlog formato de almacenamiento, tales como algunas funciones, la declaración no puede ser completada de la operación de copia maestra, el formato de fila se utiliza para guardar binlog, MySQL basa en que cada declaración específica SQL ejecutadas para distinguir entre la forma de registro de los registros de tratamiento, es decir, entre el enunciado de la fila y seleccione una nueva versión del modo de nivel de filas de MySQL escuadra también se ha optimizado, no todas las modificaciones son a nivel de fila para grabar, ya que el cuadro encontrado cuando los cambios estructurales serán registrados en un modo de declaración. En cuanto a las declaraciones tales como actualización o modificación de datos de borrado, o que registrará los cambios para todas las filas.

Binlog formulado con el formato básico

Formato de registro de MySQL binlog puede ser especificado por la propiedad binlog_format my.cnf MySQL archivo. Tales como los siguientes:

binlog_format = MIXTA // formato de registro binlog

log_bin = directorio /mysql-bin.log // binlog nombre de registro

expire_logs_days = 7 // binlog tiempo de limpieza caducado

max_binlog_size 100m // binlog cada tamaño de archivo de registro

Binlog opciones de formato de registro:

Declaración por defecto de MySQL es utilizar el formato de registro se recomienda mixto.

Debido a algún uso especial, considere el uso de remado, como para modificar su propia sincronización de datos a través del registro binlog, ahorraría una gran cantidad de operaciones relacionadas. Para el procesamiento de datos binlog será muy fácil, relativamente mezclado, la resolución también es muy fácil (por supuesto, siempre que la cantidad de aumento de registro provocada por la IO sobrecarga puede estar dentro de un rango tolerable).

selección del formato mysqlbinlog:

Formato de registro de MySQL para el principio seleccionado: Si el caso de utilizar INSERT, UPDATE, DELETE y así dirigir la mesa de operaciones, el conjunto formato de grabación de registro de acuerdo binlog_format, si GRANT empleada, revocar, sentencia SET PASSWORD logró hacer otras palabras , a continuación, en cualquier caso, el uso del modo de grabación de SBR

Publicados 349 artículos originales · elogios ganado 14 · Vistas a 90000 +

Supongo que te gusta

Origin blog.csdn.net/LU_ZHAO/article/details/105305180
Recomendado
Clasificación