mysqlbinlog es una utilidad incluida con MariaDB para procesar registros binarios y archivos de registro de retransmisión.

Opciones

Las siguientes opciones son compatibles con mysqlbinlog. Se pueden especificar en la línea de comandos o en archivos de opciones:

Opción valor por defecto Descripción Introducido
-?, --help Muestre una declaración de ayuda.
--base64-output[=name] (Sin valor predeterminado) Determine cuándo las declaraciones de salida deben ser declaraciones BINLOG codificadas en base64. Las opciones (no distinguen entre mayúsculas y minúsculas) incluyen auto, unspec, always (obsoleto), never y decode-rows. never lo deshabilita y funciona solo para binlogs sin eventos basados ​​en filas; decode-rows decodifica eventos de fila en declaraciones SQL comentadas si el --verbose también se da la opción; diferente a Nunca, mysqlbinlog no sale con un error si se encuentra un evento de fila auto o unspec, el valor predeterminado, imprime base64 solo cuando es necesario (es decir, para eventos basados ​​en filas y eventos de descripción de formato), y es el único comportamiento seguro si tiene la intención de usar la salida de mysqlbinlog para volver a ejecutar el contenido del archivo de registro binario. Los otros valores de opción están pensados ​​solo para propósitos de depuración o prueba porque pueden producir resultados que no incluyen todos los eventos en forma ejecutable .; always imprime base64 siempre que sea posible, es solo para depuración y no debe usarse en un sistema de producción. Si no se da esta opción, el valor predeterminado es auto; si se da sin argumento, always se utiliza.
--binlog-row-event-max-size=val 4294967040 (4 GB) El tamaño máximo en bytes de un evento de registro binario basado en filas. Debe ser un múltiplo de 256. Mínimo 256, máximo 18446744073709547520. MariaDB 5.5.45, MariaDB 10.0.17
--character-sets-dir=name (Sin valor predeterminado) Directorio donde están los juegos de caracteres.
-d, --database=name (Sin valor predeterminado) Entradas de salida del registro binario (solo registro local) que ocurren mientras nombre ha sido seleccionado como la base de datos predeterminada por USE. Solo se puede especificar una base de datos. Los efectos dependen de si se utiliza el formato de registro basado en sentencias o en filas. Para el registro basado en declaraciones, el servidor solo registrará declaraciones donde la base de datos predeterminada es nombre. La base de datos predeterminada se establece con la instrucción USE. Para el registro basado en filas, el servidor registrará cualquier actualización de cualquier tabla en la base de datos nombrada, independientemente de la base de datos actual. Ignorado en --raw modo.
-# [options], --debug[=options] d:t:o,/tmp/mysqlbinlog.trace En una compilación de depuración, escriba un registro de depuración. Opciones de depuración típicas string es d:t:o,file_name.
--debug-check FALSO Imprime información de depuración al salir.
--debug-info FALSO Imprime información de depuración e información de memoria y CPU al salir.
--default-auth=name Complemento de autenticación predeterminado del lado del cliente para usar.
--defaults-extra-file=name Leer el archivo nombre, que puede ser la ruta completa, o la ruta relativa al directorio actual, una vez leídos los archivos globales.
--defaults-file=name Leer solo las opciones predeterminadas del archivo dado
nombre
, que puede ser la ruta completa o la ruta relativa al directorio actual.
--defaults-group-suffix=str Lea también los grupos con un sufijo de str. Por ejemplo, desde mysqlbinlog normalmente lee el [client] y [mysqlbinlog] grupos, --defaults-group-suffix=x haría que también leyera los grupos [mysqlbinlog_x] y [client_x].
-D, --disable-log-bin FALSO Deshabilite el registro binario. Esto es útil, si habilitó --to-last-log y están enviando la salida al mismo servidor MariaDB. De esta forma podría evitar un bucle sin fin. También le gustaría usarlo al restaurar después de un bloqueo para evitar la duplicación de las declaraciones que ya tiene. NOTA: necesitará un privilegio SUPER para usar esta opción.
-F, --force-if-open CIERTO Forzar si binlog no se cerró correctamente. Predeterminado a ON; usar --skip-force-if-open deshabilitar.
-B, --flashback FALSO Admite el modo flashback. MariaDB 10.2.4
-f, --force-read FALSO Si mysqlbinlog lee un evento de registro binario que no reconoce, imprime una advertencia, ignora el evento y continúa. Sin esta opción, mysqlbinlog se detiene si lee tal evento.
-H, --hexdump FALSO Aumente la salida con volcado de eventos hexadecimal y ASCII.
-h, --host=name (Sin valor predeterminado) Obtenga el binlog del servidor MariaDB en el host dado.
-l path, --local-load=path (Sin valor predeterminado) Prepare archivos temporales locales para LOAD DATA INFILE en el directorio especificado. Los archivos temporales no se eliminan automáticamente.
--no-defaults No lea las opciones predeterminadas de ningún archivo de opciones
-o value, --offset=value 0 Salta el primero valor entradas en el registro.
--open_files_limit=# 64 Reserve descriptores de archivo para su uso por mysqlbinlog.
-p[passwd], --password[=passwd] (Sin valor predeterminado) Contraseña para conectarse al servidor remoto. La contraseña se puede omitir y permitir que se ingrese desde el indicador, o se puede usar un archivo de opciones para evitar el riesgo de seguridad de pasar una contraseña en la línea de comandos.
--plugin-dir=dir_name, Directorio para complementos del lado del cliente.
-P num, --port=num 0 Número de puerto que se utilizará para la conexión o 0 de forma predeterminada para, en orden de preferencia, my.cnf, $ MYSQL_TCP_PORT, / etc / services, integrado por defecto (3306).
--position=# 4 Eliminado en MariaDB 5.5. Usar --start-position en lugar de.
--print-defaults Imprima la lista de argumentos del programa de todos los archivos de opciones y salga.
print-table-metadata Imprime los metadatos almacenados en Table_map_log_event. MariaDB 10.5.0
--protocol=name (Sin valor predeterminado) El protocolo de la conexión (tcp, socket, pipe, memory).
--raw Requiere -R. Genere datos de bitácora sin procesar en lugar de declaraciones SQL. Archivos de salida con el nombre de los registros del servidor. MariaDB 10.2.0
-R, --read-from-remote-server FALSO Lea registros binarios de un servidor MariaDB remoto en lugar de leer un archivo de registro local. Las opciones de los parámetros de conexión se ignoran a menos que también se proporcione esta opción. Estas opciones son --host, --password, --port, --protocol, --socket, y --user. Esta opción requiere que el servidor remoto esté en ejecución. Funciona solo para archivos de registro binarios en el servidor remoto, no para archivos de registro de retransmisión.
-r name, --result-file=name (Sin valor predeterminado) Salida directa a un archivo determinado. Con –raw esto es un prefix para los nombres de archivo.
--rewrite-db=name (Sin valor predeterminado) Actualizaciones a una base de datos con un nombre diferente al original. Ejemplo: rewrite-db='from->to'

Para eventos que se registran en binlog como declaraciones, reescribir la base de datos constituye cambiar la base de datos predeterminada de una declaración de db1 para db2.

No hay análisis o reescritura de declaraciones de ningún tipo, es decir, si se especifica “db1.tbl“en la declaración explícitamente, esa ocurrencia no se cambiará a”db2.tbl“.

Los eventos basados ​​en filas se reescriben correctamente para usar el nuevo nombre de la base de datos.

Filtrado (por ejemplo, con --database=name ) sucede después Se han realizado las reescrituras de la base de datos.

Si usa esta opción en la línea de comando y “>“tiene un significado especial para su intérprete de comandos, cite el valor (p. ej. --rewrite-db="oldname->newname").

--server-id=idnum 0 Extraiga solo las entradas de binlog creadas por el servidor que tenga la identificación dada.
--set-charset=character_set (Sin valor predeterminado) Agregar ‘SET NAMES character_set‘a la salida para especificar el juego de caracteres que se utilizará para procesar archivos de registro.
--shared-memory-base-name=name MYSQL Nombre de la memoria compartida que se usará para las conexiones de Windows que usan la memoria compartida a un servidor local (comenzó con el --shared-memory opción). Distingue mayúsculas y minúsculas.
-s, --short-form FALSO Solo muestre consultas regulares: sin información adicional ni eventos basados ​​en filas. Esto es solo para pruebas y no debe usarse en sistemas de producción. Si desea suprimir la salida base64, considere usar --base64-output=never en lugar de.
--skip-annotate-rows-events Omita todos los eventos Annotate_rows en la salida de mysqlbinlog (de forma predeterminada, mysqlbinlog imprime los eventos Annotate_rows, si el registro binario los contiene).
-S, --socket=name (Sin valor predeterminado) Para las conexiones a localhost, el archivo de socket de Unix a usar, o, en Windows, el nombre de la tubería nombrada a usar.
--ssl FALSE Habilita TLS. TLS también se habilita incluso sin configurar esta opción cuando se configuran otras opciones de TLS. A partir de MariaDB 10.2, el --ssl La opción no permitirá verificar el certificado del servidor de forma predeterminada. Para verificar el certificado del servidor, el usuario debe especificar el --ssl-verify-server-cert opción.
--ssl-ca=name Define una ruta a un archivo PEM que debe contener uno o más certificados X509 para que las autoridades de certificación (CA) confiables lo usen para TLS. Esta opción requiere que use la ruta absoluta, no una ruta relativa. Consulte Descripción general de conexiones seguras: Autoridades de certificación (CA) para obtener más información. Esta opción implica la --ssl opción.
--ssl-capath=name Define una ruta a un directorio que contiene uno o más archivos PEM, cada uno de los cuales debe contener un certificado X509 para que una autoridad certificadora (CA) confiable lo utilice para TLS. Esta opción requiere que use la ruta absoluta, no una ruta relativa. El directorio especificado por esta opción debe ejecutarse a través del openssl rehash mando. Consulte Descripción general de conexiones seguras: Autoridades de certificación (CA) para obtener más información. Esta opción solo se admite si el cliente se creó con OpenSSL o yaSSL. Si el cliente se creó con GnuTLS o Schannel, esta opción no es compatible. Consulte Bibliotecas de criptografía y TLS utilizadas por MariaDB para obtener más información sobre qué bibliotecas se usan en qué plataformas. Esta opción implica la --ssl opción.
--ssl-cert=name Define una ruta al archivo de certificado X509 que se utilizará para TLS. Esta opción requiere que use la ruta absoluta, no una ruta relativa. Esta opción implica la --ssl opción.
--ssl-cipher=name Lista de cifrados o conjuntos de cifrado permitidos para usar con TLS. Esta opción implica la --ssl opción.
--ssl-crl=name Define una ruta a un archivo PEM que debe contener uno o más certificados X509 revocados para usar con TLS. Esta opción requiere que use la ruta absoluta, no una ruta relativa. Consulte Descripción general de conexiones seguras: listas de revocación de certificados (CRL) para obtener más información. Esta opción solo es compatible si el cliente se creó con OpenSSL o Schannel. Si el cliente se creó con yaSSL o GnuTLS, esta opción no es compatible. Ver TLS y bibliotecas de criptografía Utilizado por MariaDB para obtener más información sobre qué bibliotecas se utilizan en qué plataformas.
--ssl-crlpath=name Define una ruta a un directorio que contiene uno o más archivos PEM, cada uno de los cuales debe contener un certificado X509 revocado para usar con TLS. Esta opción requiere que use la ruta absoluta, no una ruta relativa. El directorio especificado por esta opción debe ejecutarse a través del openssl rehash mando. Consulte Descripción general de conexiones seguras: listas de revocación de certificados (CRL) para obtener más información. Esta opción solo se admite si el cliente se creó con OpenSSL. Si el cliente se creó con yaSSL, GnuTLS o Schannel, esta opción no es compatible. Consulte Bibliotecas de criptografía y TLS utilizadas por MariaDB para obtener más información sobre qué bibliotecas se usan en qué plataformas.
--ssl-key=name Define una ruta a un privado key archivo que se utilizará para TLS. Esta opción requiere que use la ruta absoluta, no una ruta relativa. Esta opción implica la --ssl opción.
--ssl-verify-server-cert FALSE Habilita la verificación del certificado del servidor. Esta opción está deshabilitada de forma predeterminada.
--start-datetime=datetime (Sin valor predeterminado) Empiece a leer el binlog en el primer evento que tenga una fecha y hora igual o posterior al argumento; el argumento debe ser una fecha y hora en la zona horaria local, en cualquier formato aceptado por el servidor MariaDB para los tipos DATETIME y TIMESTAMP, por ejemplo: 2014-12-25 11:25:56 (probablemente debería usar comillas para su shell para configurarlo correctamente). Esta opción es útil para la recuperación en un momento determinado.
-j pos, --start-position=pos 4 Empiece a leer el binlog en la posición pos. Se aplica al primer binlog pasado en la línea de comando.
--stop-datetime=name (Sin valor predeterminado) Deje de leer el binlog en el primer evento que tenga una fecha y hora igual o posterior al argumento; el argumento debe ser una fecha y hora en la zona horaria local, en cualquier formato aceptado por el servidor MariaDB para los tipos DATETIME y TIMESTAMP, por ejemplo: 2014-12-25 11:25:56 (probablemente debería usar comillas para su shell para configurarlo correctamente). Ignorado en --raw modo.
--stop-never Espere más datos del servidor en lugar de detenerse al final del último registro. Implica --to-last-log. MariaDB 10.2.0
--stop-never-slave-server-id El server_id esclavo usado para --read-from-remote-server--stop-never. MariaDB 10.2.0
--stop-position=pos 18446744073709551615 Deje de leer el binlog en la posición pos. Se aplica al último binlog pasado en la línea de comando. Ignorado en --raw modo.
--tls-version=name TLSv1.1, TLSv1.2, TLSv1.3 Esta opción acepta una lista separada por comas de versiones del protocolo TLS. Una versión del protocolo TLS solo se habilitará si está presente en esta lista. No se permitirán todas las demás versiones del protocolo TLS. Consulte Descripción general de conexiones seguras: versiones del protocolo TLS para obtener más información. MariaDB 10.4.6
-t, --to-last-log FALSO Requiere -R o --read-from-remote-server . No se detendrá al final del binlog solicitado, sino que continuará imprimiendo hasta el final del último binlog del servidor MariaDB. Si envía la salida al mismo servidor MariaDB, eso puede conducir a un bucle sin fin.
-u, --user=username (Sin valor predeterminado) Conéctese al servidor remoto como nombre de usuario.
-v, --verbose Reconstruir sentencias SQL a partir de eventos de fila. -v -v agrega comentarios sobre tipos de datos de columna
-V, --version Imprime la versión y sal.
--verify-binlog-checksum Verifique las sumas de verificación de eventos binlog al leer un archivo binlog.

Archivos de opciones

Además de leer las opciones de la línea de comandos, mysqlbinlog también puede leer opciones de archivos de opciones. Si se proporciona una opción desconocida para mysqlbinlog en un archivo de opciones, se ignora.

Las siguientes opciones se relacionan con la forma en que las herramientas de línea de comandos de MariaDB manejan los archivos de opciones. Deben darse como primer argumento en la línea de comandos:

Opción Descripción
--print-defaults Imprima la lista de argumentos del programa y salga.
--no-defaults No lea las opciones predeterminadas de ningún archivo de opciones.
--defaults-file=# Lea solo las opciones predeterminadas del número de archivo dado.
--defaults-extra-file=# Lea este archivo después de leer los archivos globales.
--defaults-group-suffix=# Además de los grupos de opciones predeterminados, lea también los grupos de opciones con este sufijo.

En MariaDB 10.2 y posterior, mysqlbinlog está vinculado con MariaDB Connector / C. Sin embargo, MariaDB Connector / C aún no maneja el análisis de archivos de opciones para este cliente. Eso todavía lo realiza el código de análisis del archivo de opciones del servidor. Ver MDEV-19035 para más información.

Grupos de opciones

mysqlbinlog lee las opciones de los siguientes grupos de opciones de los archivos de opciones:

Grupo Descripción
[mysqlbinlog] Opciones leídas por mysqlbinlog, que incluye MariaDB Server y MySQL Server.
[client] Opciones leídas por todos los programas cliente MariaDB y MySQL, que incluyen clientes MariaDB y MySQL. Por ejemplo, mysqldump.
[client-server] Opciones leídas por todos los programas cliente MariaDB y el servidor MariaDB. Esto es útil para opciones como socket y puerto, que es común entre el servidor y los clientes.
[client-mariadb] Opciones leídas por todos los programas cliente MariaDB.

En MariaDB 10.2 y posterior, mysqlbinlog está vinculado con MariaDB Connector / C. Sin embargo, MariaDB Connector / C aún no maneja el análisis de archivos de opciones para este cliente. Eso todavía lo realiza el código de análisis del archivo de opciones del servidor. Ver MDEV-19035 para más información.

Ver también

  • Usando mysqlbinlog

El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido con anticipación. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o de cualquier otra parte.