GoGPT Best VPN GoSearch

icono de página de OnWorks

pt-table-syncp: en línea en la nube

Ejecute pt-table-syncp en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando pt-table-syncp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


pt-table-sync: sincroniza los datos de la tabla MySQL de manera eficiente.

SINOPSIS


Uso: pt-table-sync [OPCIONES] DSN [DSN]

pt-table-sync sincroniza datos de manera eficiente entre tablas MySQL.

Esta herramienta cambia los datos, por lo que para una máxima seguridad, debe hacer una copia de seguridad de sus datos antes de usar
eso. Al sincronizar un servidor que es un esclavo de replicación con el "--replicate" o
métodos "--sync-to-master", realiza los cambios en el maestro de replicación, nunca
el esclavo de replicación directamente. En general, esta es la única forma segura de traer una réplica.
de nuevo en sincronía con su maestro; Los cambios en la réplica suelen ser la fuente de la
problemas en primer lugar. Sin embargo, los cambios que realiza en el maestro deben ser no operativos.
cambios que establecen los datos en sus valores actuales y, de hecho, solo afectan a la réplica.

Sincronice db.tbl en host1 con host2:

pt-table-sync --execute h = host1, D = db, t = tbl h = host2

Sincronice todas las tablas en host1 con host2 y host3:

pt-table-sync: ejecutar host1 host2 host3

Haga que el esclavo1 tenga los mismos datos que su maestro de replicación:

pt-table-sync --execute --sync-to-master esclavo1

Resuelva las diferencias que pt-table-checksum encontró en todos los esclavos de master1:

pt-table-sync --execute --replicate test.checksum master1

Igual que el anterior, pero solo resuelve las diferencias en el esclavo1:

pt-table-sync --execute --replicate test.checksum \
--sync-to-master esclavo1

Sincronice master2 en una configuración de replicación master-master, donde la copia de master2 de db.tbl
se sabe o se sospecha que es incorrecto:

pt-table-sync --execute --sync-to-master h = master2, D = db, t = tbl

Tenga en cuenta que en la configuración maestro-maestro, lo siguiente NO hará lo que desea,
porque hará cambios directamente en master2, que luego fluirá a través de la replicación
y cambiar los datos de master1:

# ¡No hagas esto en una configuración maestro-maestro!
pt-table-sync --execute h = master1, D = db, t = tbl master2

RIESGOS


ADVERTENCIA: pt-table-sync cambia los datos! Antes de usar esta herramienta, por favor:

· Leer la documentación de la herramienta

· Revise los "ERRORES" conocidos de la herramienta

· Pruebe la herramienta en un servidor que no sea de producción

· Realice una copia de seguridad de su servidor de producción y verifique las copias de seguridad

pt-table-sync es maduro, probado en el mundo real y bien probado, pero si se usa
incorrectamente puede tener consecuencias adversas. Siempre pruebe la sincronización primero con
"--dry-run" y "--print".

DESCRIPCIÓN


pt-table-sync realiza una sincronización unidireccional y bidireccional de los datos de la tabla. Lo hace No
sincronizar estructuras de tablas, índices o cualquier otro objeto de esquema. La siguiente
describe la sincronización unidireccional. La "SINCRONIZACIÓN BIDIRECCIONAL" se describe más adelante.

Esta herramienta es compleja y funciona de varias formas diferentes. Para usarlo de forma segura y
efectivamente, debe comprender tres cosas: el propósito de "--replicar", encontrar
diferencias y especificando hosts. Estos tres conceptos están estrechamente relacionados y determinan
cómo funcionará la herramienta. La siguiente es la lógica abreviada:

si DSN tiene una parte, sincronice solo esa tabla:
si 1 DSN:
si --sync-to-master:
El DSN es un esclavo. Conéctese a su maestro y sincronícelo.
si hay más de 1 DSN:
El primer DSN es la fuente. Sincronice cada DSN por turno.
de lo contrario si --replicar:
si --sync-to-master:
El DSN es un esclavo. Conéctese a su maestro, encuentre registros
de diferencias y arreglar.
más:
El DSN es el maestro. Encuentra esclavos y conéctate con cada uno,
encuentre registros de diferencias y corríjalos.
más:
si solo 1 DSN y --sync-to-master:
El DSN es un esclavo. Conéctese con su maestro, busque mesas y
filtrar con --databases, etc., y sincronizar cada tabla con el maestro.
más:
buscar tablas, filtrar con bases de datos, etc. y sincronizar cada una
DSN al primero.

pt-table-sync puede ejecutarse de dos formas: con "--replicate" o sin. El valor predeterminado es
para ejecutarse sin "--replicate", lo que hace que pt-table-sync encuentre automáticamente las diferencias
eficientemente con uno de varios algoritmos (ver "ALGORITMOS"). Alternativamente, el valor
de "--replicate", si se especifica, hace que pt-table-sync use las diferencias ya encontradas
habiendo ejecutado previamente pt-table-checksum con su propia opción "--replicate". Estrictamente
hablando, no es necesario utilizar "--replicate" porque pt-table-sync puede encontrar diferencias,
pero muchas personas usan "--replicate" si, por ejemplo, realizan sumas de comprobación con regularidad usando pt-table-
suma de comprobación y luego corrige las diferencias según sea necesario con pt-table-sync. Si no está seguro, lea cada
la documentación de la herramienta cuidadosamente y decida usted mismo, o consulte con un experto.

Independientemente de si se utiliza "--replicate" o no, debe especificar qué hosts
sincronizar. Hay dos formas: con "--sync-to-master" o sin. Especificando
"--sync-to-master" hace que pt-table-sync espere un único DSN esclavo en la línea de comando.
La herramienta detectará automáticamente el maestro del esclavo y lo sincronizará para que sus datos sean
lo mismo que su amo. Esto se logra haciendo cambios en el maestro que luego
fluir a través de la replicación y actualizar el esclavo para resolver sus diferencias. Be cuidadoso
aunque: aunque esta opción especifica y sincroniza un solo esclavo, si hay otros esclavos
en el mismo maestro, recibirán vía replicación los cambios previstos para el esclavo
que estás intentando sincronizar.

Alternativamente, si no especifica "--sync-to-master", el primer DSN proporcionado en el
la línea de comando es el host de origen. Solo hay un host de origen. Si tu no tambien
especificar "--replicate", luego debe especificar al menos otro DSN como destino
anfitrión. Puede haber uno o más hosts de destino. Los hosts de origen y destino deben
independiente; no pueden estar en la misma topología de replicación. pt-table-sync morirá con
un error si detecta que un host de destino es esclavo porque los cambios están escritos
directamente a los hosts de destino (y no es seguro escribir directamente a los esclavos). O si tu
especificar "--replicate" (pero no "--sync-to-master"), entonces pt-table-sync espera uno y solo
un DSN maestro en la línea de comando. La herramienta descubrirá automáticamente todos los maestros
esclavos y sincronizarlos con el maestro. Ésta es la única forma de sincronizar varios (todos) esclavos en
una vez (porque "--sync-to-master" solo especifica un esclavo).

Cada host en la línea de comando se especifica como un DSN. El primer DSN (o solo DSN para casos
como "--sync-to-master") proporciona valores predeterminados para otros DSN, ya sea que esos otros DSN
se especifican en la línea de comando o la herramienta los descubre automáticamente. Entonces, en este ejemplo,

pt-table-sync --execute h = host1, u = msandbox, p = msandbox h = host2

el DSN host2 hereda las partes DSN "u" y "p" del DSN host1. Utilizar el
Opción "--explain-hosts" para ver cómo pt-table-sync interpretará los DSN proporcionados en el
línea de comando.

SALIDA


Si especifica la opción "--verbose", verá información sobre las diferencias
entre las mesas. Hay una fila por mesa. Cada servidor se imprime por separado. Para
ejemplo,

# Sincronizando h = host1, D = prueba, t = prueba1
# BORRAR REEMPLAZAR INSERTAR ACTUALIZAR ALGORITMO INICIO FIN SALIR BASE DE DATOS.
# 0 0 3 0 Fragmento 13:00:00 13:00:17 2 prueba.prueba1

La tabla test.test1 en host1 requería 3 declaraciones "INSERT" para sincronizar y usaba el
Algoritmo de fragmentos (consulte "ALGORITMOS"). La operación de sincronización de esta tabla comenzó a las 13:00:00
y terminó 17 segundos después (tiempos tomados de "NOW ()" en el host de origen). Porque
Se encontraron diferencias, su "ESTADO DE SALIDA" fue 2.

Si especifica la opción "--print", verá las declaraciones SQL reales que el script
utiliza para sincronizar la tabla si también se especifica "--execute".

Si desea ver las declaraciones SQL que pt-table-sync está usando para seleccionar fragmentos,
nibbles, filas, etc., luego especifique "--print" una vez y "--verbose" dos veces. Ten cuidado
aunque: esto puede imprimir muchas sentencias SQL.

Hay casos en los que ninguna combinación de instrucciones "INSERT", "UPDATE" o "DELETE" puede
resolver diferencias sin violar alguna clave única. Por ejemplo, suponga que hay un
clave primaria en la columna ay una clave única en la columna b. Entonces no hay forma de sincronizar estos
dos tablas con declaraciones UPDATE sencillas:

+ --- + --- + + --- + --- +
| un | segundo | | un | segundo |
+ --- + --- + + --- + --- +
| 1 | 2 | | 1 | 1 |
| 2 | 1 | | 2 | 2 |
+ --- + --- + + --- + --- +

La herramienta reescribe las consultas a "ELIMINAR" y "REEMPLAZAR" en este caso. Esto es automáticamente
manejado después de la primera infracción de índice, por lo que no tiene que preocuparse por ello.

Tenga cuidado al usar pt-table-sync en cualquier configuración maestro-maestro. Replicación maestro-maestro
es intrínsecamente complicado y es fácil cometer errores. Debes asegurarte de que estás usando
la herramienta correctamente para la replicación maestro-maestro. Consulte la "SINOPSIS" para obtener una descripción general de
el uso correcto.

También tenga cuidado con las tablas que tienen restricciones de clave externa con "ON DELETE" o "ON
ACTUALIZAR "definiciones porque pueden causar cambios no deseados en las tablas secundarias. Consulte
"- [no] check-child-tables".

En general, esta herramienta es más adecuada cuando sus tablas tienen una clave principal o un índice único.
Aunque puede sincronizar datos en tablas que carecen de una clave principal o un índice único, podría
Sería mejor sincronizar esos datos por otros medios.

REPLICACIÓN SEGURIDAD


Sincronizar un maestro y un esclavo de replicación de forma segura no es un problema trivial, en general.
Hay todo tipo de cuestiones en las que pensar, como otros procesos que cambian los datos,
tratando de cambiar datos en el esclavo, si el destino y la fuente son un maestro-maestro
par, y mucho más.

En general, la forma segura de hacerlo es cambiar los datos en el maestro y dejar que los cambios
fluir a través de la replicación al esclavo como cualquier otro cambio. Sin embargo, esto solo funciona si
es posible REEMPLAZAR en la tabla del maestro. REPLACE funciona solo si hay un
índice único en la tabla (de lo contrario, actúa como un INSERT ordinario).

Si su tabla tiene claves únicas, debe usar "--sync-to-master" y / o "--replicate"
opciones para sincronizar un esclavo con su maestro. Esto generalmente hará lo correcto. Cuándo
no hay una clave única en la tabla, no hay más remedio que cambiar los datos en el
esclavo y pt-table-sync detectarán que estás intentando hacerlo. Se quejará y
morir a menos que especifique "--no-check-slave" (consulte "- [no] check-slave").

Si está sincronizando una tabla sin una clave principal o única en un par maestro-maestro,
debe cambiar los datos en el servidor de destino. Por lo tanto, debe especificar
"--no-bin-log" por seguridad (consulte "- [no] bin-log"). Si no lo hace, los cambios que realice en
el servidor de destino se replicará en el servidor de origen y cambiará los datos allí.

Lo más seguro en general en un par maestro-maestro es usar el comando "--sync-to-master"
opción para que no cambie los datos en el servidor de destino. También necesitará
especifique "--no-check-slave" para evitar que pt-table-sync se queje de que está cambiando los datos
en un esclavo.

ALGORITMOS


pt-table-sync tiene un marco de sincronización de datos genérico que utiliza diferentes algoritmos para encontrar
diferencias. La herramienta elige automáticamente el mejor algoritmo para cada tabla en función de
índices, tipos de columna y las preferencias de algoritmo especificadas por "--algorithms". El
Los siguientes algoritmos están disponibles, enumerados en su orden de preferencia predeterminado:

Pedazo
Busca un índice cuya primera columna es numérica (incluidos los tipos de fecha y hora) y
divide el rango de valores de la columna en fragmentos de filas de aproximadamente "tamaño de fragmento".
Sincroniza un fragmento a la vez mediante la suma de comprobación de todo el fragmento. Si el trozo difiere en el
origen y destino, hace una suma de verificación de las filas de cada fragmento individualmente para encontrar las filas que
diferir de.

Es eficiente cuando la columna tiene suficiente cardinalidad para hacer que los trozos terminen
sobre el tamaño correcto.

La suma de comprobación inicial por fragmento es bastante pequeña y da como resultado un tráfico de red mínimo
y consumo de memoria. Si se deben examinar las filas de un fragmento, solo la clave principal
las columnas y una suma de comprobación se envían a través de la red, no toda la fila. Si una fila es
Si se encuentra diferente, se obtendrá la fila completa, pero no antes.

Tenga en cuenta que este algoritmo no funcionará si fragmenta una columna de caracteres donde todos los valores
empezar con el mismo personaje. En ese caso, la herramienta se cerrará y sugerirá elegir un
algoritmo diferente.

Picar
Encuentra un índice y asciende el índice en nibbles de tamaño fijo de filas "--chunk-size",
utilizando un algoritmo sin retroceso (consulte pt-archiver para obtener más información sobre este algoritmo). Eso
es muy similar a "Chunk", pero en lugar de calcular previamente los límites de cada
pieza de la tabla en función de la cardinalidad del índice, utiliza "LIMIT" para definir cada nibble
límite superior y el límite superior del nibble anterior para definir el límite inferior.

Funciona en pasos: una consulta encuentra la fila que definirá la parte superior del siguiente nibble
límite, y la siguiente consulta suma todo el nibble. Si el mordisco es diferente
entre el origen y el destino, examina el nibble fila por fila, como "Chunk"
hace.

Agrupar por
Selecciona toda la tabla agrupada por todas las columnas, con una columna COUNT (*) agregada.
Compara todas las columnas y, si son iguales, compara el valor de la columna COUNT (*) con
determinar cuántas filas insertar o eliminar en el destino. Funciona en tablas
sin clave principal o índice único.

Transmite
Selecciona toda la tabla en un flujo grande y compara todas las columnas. Selecciona todo
columnas. Mucho menos eficiente que los otros algoritmos, pero funciona cuando no hay
índice adecuado para su uso.

Proyectos futuros
Las posibilidades para futuros algoritmos son TempTable (lo que originalmente llamé bottom-up
en versiones anteriores de esta herramienta), DrillDown (lo que originalmente llamé de arriba hacia abajo) y
GroupByPrefix (similar a cómo funciona SqlYOG Job Agent). Cada algoritmo tiene fortalezas
y debilidades. Si desea implementar su técnica favorita para encontrar
diferencias entre dos fuentes de datos en servidores posiblemente diferentes, estoy dispuesto a
ayuda. Los algoritmos se adhieren a una interfaz simple que hace que sea bastante fácil de escribir.
tu propio.

BIDIRECCIONAL SINCRONIZACIÓN


La sincronización bidireccional es una función nueva y experimental. Para que funcione de manera confiable, hay
una serie de limitaciones estrictas:

* solo funciona cuando se sincroniza un servidor con otros servidores independientes
* no funciona de ninguna manera con la replicación
* requiere que la (s) tabla (s) se puedan fragmentar con el algoritmo Chunk
* no es N-way, solo bidireccional entre dos servidores a la vez
* no maneja ELIMINAR cambios

Por ejemplo, suponga que tenemos tres servidores: c1, r1, r2. c1 es el servidor central, un
pseudo-maestro para los otros servidores (es decir, r1 y r2 no son esclavos de c1). r1 y r2 son
servidores remotos. Las filas de la tabla foo se actualizan e insertan en los tres servidores y
desea sincronizar todos los cambios entre todos los servidores. La tabla foo tiene columnas:

id int LLAVE PRIMARIA
ts marca de tiempo actualizada automáticamente
nombre varchar

Las compensaciones de incremento automático se utilizan para que las nuevas filas de cualquier servidor no creen conflictos
valores de clave primaria (id). En general, las filas más nuevas, según lo determinado por la columna ts, toman
precedencia cuando se encuentra una fila igual pero diferente durante la sincronización bidireccional. "Mismo
pero diferente "significa que dos filas tienen el mismo valor de clave principal (id) pero diferente
valores para alguna otra columna, como la columna de nombre en este ejemplo. Igual pero diferente
los conflictos se resuelven mediante un "conflicto". Un conflicto compara alguna columna de la competencia
filas para determinar un "ganador". La fila ganadora se convierte en la fuente y se utilizan sus valores.
para actualizar la otra fila.

Existen diferencias sutiles entre las tres columnas utilizadas para lograr la sincronización bidireccional
con las que debería estar familiarizado: columna de fragmentos ("--chunk-column"), columna (s) de comparación
("--columns") y la columna de conflicto ("--conflict-column"). La columna de fragmentos solo se usa
trocear la mesa; por ejemplo, "DONDE id> = 5 Y id <10". Los fragmentos se suman y cuando
las sumas de verificación de fragmentos revelan una diferencia, la herramienta selecciona las filas en ese fragmento y las sumas de verificación
las "--columnas" de cada fila. Si la suma de comprobación de una columna es diferente, las filas tienen una o más
valores de columna en conflicto. En una sincronización unidireccional tradicional, el conflicto es discutible
punto porque se puede resolver simplemente actualizando toda la fila de destino con el
valores de la fila de origen. Sin embargo, en una sincronización bidireccional, la "--conflict-column" (en
de acuerdo con otra lista de opciones "--conflicto- *" a continuación) se compara para determinar qué
la fila es "correcta" o "autorizada"; esta fila se convierte en la "fuente".

Para sincronizar los tres servidores por completo, se requieren dos ejecuciones de pt-table-sync. La primera
ejecutar sincronizaciones c1 y r1, luego sincronizar c1 y r2 incluyendo cualquier cambio de r1. En este punto c1
y r2 están completamente sincronizados, pero a r1 le faltan cambios de r2 porque c1 no lo hizo
tienen estos cambios cuando se sincronizaron it y r1. Por tanto, se necesita una segunda ejecución que sincronice
servidores en el mismo orden, pero esta vez cuando c1 y r1 están sincronizados, r1 obtiene los cambios de r2.

La herramienta no sincroniza N-way, solo bidireccionalmente entre el primer DSN dado en el
línea de comando y cada DSN subsiguiente por turno. Entonces, la herramienta en este ejemplo se ejecutaría
dos veces como:

pt-table-sync --bidireccional h = c1 h = r1 h = r2

La opción "--bidirectional" habilita esta función y hace que se realicen varias comprobaciones de cordura.
realizado. Debe especificar otras opciones que le digan a pt-table-sync cómo resolver
conflictos para filas iguales pero diferentes. Estas opciones son:

* --columna de conflicto
* --comparación de conflictos
* --valor de conflicto
* - umbral de conflicto
* --conflict-error "> (opcional)

Utilice "--print" para probar esta opción antes de "--execute". Las sentencias SQL impresas
tener comentarios que indiquen en qué host se ejecutaría la declaración si usara
"--ejecutar".

Nota técnica al margen: el primer DSN es siempre el servidor "izquierdo" y los otros DSN son
siempre el servidor "correcto". Dado que cualquiera de los servidores puede convertirse en origen o destino,
confuso pensar en ellos como "src" y "dst". Por lo tanto, se denominan genéricamente
como izquierda y derecha. Es fácil recordar esto porque el primer DSN siempre está a la izquierda.
de los otros DSN del servidor en la línea de comandos.

SALIR ESTADO


Los siguientes son los estados de salida (también llamados valores de retorno o códigos de retorno) cuando pt-
terminaciones y salidas de table-sync.

SIGNIFICADO DEL ESTADO
====== ========================================== ===========
0 Éxito.
1 Error interno.
2 Al menos una mesa difirió en el destino.
3 Combinación de 1 y 2.

OPCIONES


Especifique al menos uno de "--print", "--execute" o "--dry-run".

"--donde" y "--replicate" son mutuamente excluyentes.

Esta herramienta acepta argumentos de línea de comandos adicionales. Consulte la "SINOPSIS" y el uso
información para más detalles.

- algoritmos
tipo: cadena; predeterminado: Chunk, Nibble, GroupBy, Stream

Algoritmo a utilizar al comparar las tablas, en orden de preferencia.

Para cada tabla, pt-table-sync verificará si la tabla se puede sincronizar con el
algoritmos en el orden en que se dan. El primer algoritmo que puede sincronizar
se utiliza la tabla. Consulte "ALGORITMOS".

--pedir-pasar
Solicitar una contraseña al conectarse a MySQL.

--bidireccional
Habilite la sincronización bidireccional entre el primer host y los siguientes.

Consulte "SINCRONIZACIÓN BIDIRECCIONAL" para obtener más información.

- [no] bin-log
predeterminado: sí

Inicie sesión en el registro binario ("SET SQL_LOG_BIN = 1").

Especificar "--no-bin-log" hará que "SET SQL_LOG_BIN = 0".

--búfer-en-mysql
Indique a MySQL que almacene las consultas en búfer en su memoria.

Esta opción agrega la opción "SQL_BUFFER_RESULT" a las consultas de comparación. Esta
hace que MySQL ejecute las consultas y las coloque en una tabla temporal internamente
antes de enviar los resultados a pt-table-sync. La ventaja de esta estrategia es
que pt-table-sync puede recuperar filas como se desee sin usar mucha memoria dentro del
Proceso Perl, mientras se liberan bloqueos en la tabla MySQL (para reducir la contención con
otras consultas). La desventaja es que usa más memoria en el servidor MySQL
preferiblemente.

Probablemente también desee dejar "- [no] búfer al cliente" habilitado, porque el almacenamiento en búfer
en una tabla temporal y luego traerlo todo a la memoria de Perl es probablemente una tontería
cosas que hacer. Esta opción es más útil para los algoritmos GroupBy y Stream, que
puede obtener una gran cantidad de datos del servidor.

- [no] búfer a cliente
predeterminado: sí

Obtenga filas una por una de MySQL mientras compara.

Esta opción habilita "mysql_use_result" que hace que MySQL mantenga las filas seleccionadas en
servidor hasta que la herramienta los recupere. Esto permite que la herramienta utilice menos memoria pero
puede mantener las filas bloqueadas en el servidor por más tiempo.

Si esta opción está deshabilitada especificando "--no-buffer-to-client", entonces
Se usa "mysql_store_result", lo que hace que MySQL envíe todas las filas seleccionadas a la herramienta
En seguida. Esto puede resultar en que el "cursor" de resultados se mantenga abierto por un tiempo más corto
en el servidor, pero si las tablas son grandes, podría llevar mucho tiempo de todos modos, y use
toda tu memoria.

Para la mayoría de tamaños de datos no triviales, desea dejar esta opción habilitada.

Esta opción está deshabilitada cuando se usa "--bidirectional".

--juego de caracteres
forma corta: -A; tipo: cadena

Juego de caracteres predeterminado. Si el valor es utf8, establece el binmode de Perl en STDOUT en utf8,
pasa la opción mysql_enable_utf8 a DBD :: mysql y ejecuta SET NAMES UTF8 después
conectarse a MySQL. Cualquier otro valor establece binmode en STDOUT sin la capa utf8,
y ejecuta SET NAMES después de conectarse a MySQL.

- [no] check-child-tables
predeterminado: sí

Compruebe si "--execute" afectará negativamente a las tablas secundarias. Cuando "--replace",
Se especifica "--replicate" o "--sync-to-master", la herramienta puede sincronizar tablas usando
Declaraciones "REPLACE". Si una tabla que se sincroniza tiene tablas secundarias con "ON DELETE
CASCADE "," ON UPDATE CASCADE "o" ON UPDATE SET NULL ", la herramienta imprime un error y
omite la tabla porque "REPLACE" se convierte en "DELETE" y luego en "INSERT", por lo que "DELETE"
en cascada a la tabla secundaria y elimine sus filas. En el peor de los casos, esto puede eliminar
¡todas las filas en tablas secundarias!

Especifique "--no-check-child-tables" para deshabilitar esta verificación. Para evitar completamente
que afectan a las tablas secundarias, también especifique "--no-Foreign-key-checks" para que MySQL no
en cascada cualquier operación de la tabla principal a la secundaria.

Esta verificación solo se realiza si "--execute" y uno de "--replace", "--replicate" o
Se especifica "--sync-to-master". "--print" no comprueba las tablas secundarias.

El mensaje de error solo imprime la primera tabla secundaria encontrada con "ON DELETE CASCADE",
Restricción de clave externa "ON UPDATE CASCADE" o "ON UPDATE SET NULL". Podría haber
otras tablas secundarias afectadas.

- [no] cheque-maestro
predeterminado: sí

Con "--sync-to-master", intente verificar que el maestro detectado es el maestro real.

- [no] cheque-esclavo
predeterminado: sí

Compruebe si el servidor de destino es esclavo.

Si el servidor de destino es esclavo, generalmente no es seguro realizar cambios en él.
Sin embargo, a veces tienes que hacerlo; "--replace" no funcionará a menos que haya un índice único,
por ejemplo, por lo que no puede realizar cambios en el maestro en ese escenario. Por defecto pt-
table-sync se quejará si intenta cambiar datos en un esclavo. Especificar
"--no-check-slave" para deshabilitar esta verificación. Úselo bajo su propio riesgo.

- [no] check-triggers
predeterminado: sí

Compruebe que no haya ningún desencadenante definido en la tabla de destino.

Los activadores se introdujeron en MySQL v5.0.2, por lo que para versiones anteriores esta opción no tiene
efecto porque no se comprobarán los desencadenantes.

--trozo-columna
tipo: cadena

Divida la tabla en esta columna.

- índice de fragmentos
tipo: cadena

Divida la tabla usando este índice.

--tamaño de porción
tipo: cadena; predeterminado: 1000

Número de filas o tamaño de datos por fragmento.

El tamaño de cada fragmento de filas para los algoritmos "Chunk" y "Nibble". El tamaño puede
ser un número de filas o un tamaño de datos. Los tamaños de datos se especifican con un sufijo de
k = kibibytes, M = mebibytes, G = gibibytes. Los tamaños de datos se convierten en varias filas
dividiendo por la longitud media de las filas.

--columnas
forma corta: -c; tipo: matriz

Compare esta lista de columnas separadas por comas.

--config
tipo: Matriz

Lea esta lista de archivos de configuración separados por comas; si se especifica, este debe ser el primero
opción en la línea de comando.

--columna de conflicto
tipo: cadena

Compare esta columna cuando las filas entren en conflicto durante una sincronización "--bidireccional".

Cuando se encuentra una misma fila pero diferente, el valor de esta columna de cada fila es
comparado de acuerdo con "--conflict-compare", "--conflict-value" y
"--conflict -reshold" para determinar qué fila tiene los datos correctos y se convierte en el
fuente. La columna puede ser de cualquier tipo para el que haya un
"--conflict-compare" (esto es casi todos los tipos excepto, por ejemplo, blobs).

Esta opción solo funciona con "--bidirectional". Consulte "SINCRONIZACIÓN BIDIRECCIONAL" para obtener más información.


--comparación de conflictos
tipo: cadena

Elija "--conflict-column" con esta propiedad como fuente.

La opción afecta la forma en que se muestran los valores "--conflict-column" de las filas en conflicto
comparado. Las posibles comparaciones son una de estas MAGIC_comparisons:

más nuevo | más antiguo | mayor | menor | igual a | coincidencias

LA COMPARACIÓN ELIGE FILA CON
========== ======================================== =================
más reciente Valor de columna de conflicto temporal más reciente
más antiguo Valor de columna de conflicto temporal más antiguo
mayor valor numérico "- columna de conflicto" más grande
Mínimo Mínimo numérico: valor de columna de conflicto
es igual a --conflict-column value igual a --conflict-value
coincide con el valor de la columna de conflicto que coincide con el patrón de expresiones regulares de Perl
--valor de conflicto

Esta opción solo funciona con "--bidirectional". Consulte "SINCRONIZACIÓN BIDIRECCIONAL" para obtener más información.


--conflicto-error
tipo: cadena; predeterminado: advertir

Cómo informar de conflictos y errores de conflicto que no se pueden resolver

Esta opción cambia la forma en que se notifica al usuario cuando un conflicto no se puede resolver o
provoca algún tipo de error. Los posibles valores son:

* advertir: Imprime una advertencia a STDERR sobre el conflicto irresoluble
* morir: morir, detener la sincronización e imprimir una advertencia en STDERR

Esta opción solo funciona con "--bidirectional". Consulte "SINCRONIZACIÓN BIDIRECCIONAL" para obtener más información.


- umbral de conflicto
tipo: cadena

Cantidad por la cual una "--conflict-column" debe exceder a la otra.

El "--conflict -reshold" evita que un conflicto se resuelva si el valor absoluto
La diferencia entre los dos valores "--conflict-column" es menor que esta cantidad. Para
ejemplo, si dos "--conflict-column" tienen valores de marca de tiempo "2009-12-01 12:00:00" y
"2009-12-01 12:05:00" la diferencia es de 5 minutos. Si se establece "--conflict -reshold"
a "5m", el conflicto se resolverá, pero si "--conflict -reshold" se establece en "6m"
el conflicto no se resolverá porque la diferencia no es mayor o igual que
a 6 minutos. En este último caso, "--conflict-error" informará del error.

Esta opción solo funciona con "--bidirectional". Consulte "SINCRONIZACIÓN BIDIRECCIONAL" para obtener más información.


--valor de conflicto
tipo: cadena

Utilice este valor para ciertos "--conflict-compare".

Esta opción da el valor para "es igual a" y "coincide" "- comparación de conflictos".

Esta opción solo funciona con "--bidirectional". Consulte "SINCRONIZACIÓN BIDIRECCIONAL" para obtener más información.


- bases de datos
forma corta: -d; tipo: hash

Sincronice solo esta lista de bases de datos separadas por comas.

Una solicitud común es sincronizar tablas de una base de datos con tablas de otra base de datos.
en el mismo servidor o en uno diferente. Esto todavía no es posible. "--databases" no servirá
y tampoco puede hacerlo con la parte D del DSN porque en ausencia de un
nombre de la tabla, asume que todo el servidor debe estar sincronizado y que la parte D solo controla
la base de datos predeterminada de la conexión.

--archivo-predeterminado
forma corta: -F; tipo: cadena

Solo lea las opciones de mysql del archivo dado. Debe dar un nombre de ruta absoluto.

- corrida en seco
Analice, decida el algoritmo de sincronización a utilizar, imprima y salga.

Implica "--verbose" para que pueda ver los resultados. Los resultados están en la misma salida
formato que verá al ejecutar la herramienta, pero habrá ceros para
filas afectadas. Esto se debe a que la herramienta realmente se ejecuta, pero se detiene antes de
compara cualquier dato y solo devuelve ceros. Los ceros no significan que no haya cambios
hacerse.

- motores
forma corta: -e; tipo: hash

Sincronice solo esta lista de motores de almacenamiento separados por comas.

--ejecutar
Ejecute consultas para que las tablas tengan datos idénticos.

Esta opción hace que pt-table-sync realmente sincronice los datos de la tabla al ejecutar todas las consultas
que creó para resolver las diferencias de la tabla. Por lo tanto, el TABURETES will be cambiado!
Y a menos que también especifique "--verbose", los cambios se realizarán en silencio. Si esto
no es lo que desea, consulte "--print" o "--dry-run".

--explicar-hosts
Imprime la información de conexión y sal.

Imprima una lista de hosts a los que se conectará pt-table-sync, con todos los
opciones de conexión y salir.

- precisión de flotación
tipo: int

Precisión para conversión de número a cadena "FLOAT" y "DOBLE". Causa FLOAT y
Los valores DOBLES se redondearán al número especificado de dígitos después del punto decimal,
con el REDONDO() función en MySQL. Esto puede ayudar a evitar discrepancias en la suma de comprobación debido a
diferentes representaciones de punto flotante de los mismos valores en diferentes MySQL
Versiones y hardware. El valor predeterminado es sin redondeo; los valores se convierten a
cadenas por el CONCAT () función, y MySQL elige la representación de cadena. Si tu
especificar un valor de 2, por ejemplo, entonces los valores 1.008 y 1.009 se redondearán a
1.01, y la suma de comprobación será igual.

- [no] comprobaciones de claves foráneas
predeterminado: sí

Habilite las comprobaciones de claves foráneas ("SET FOREIGN_KEY_CHECKS = 1").

Especificar "--no-Foreign-key-checks" hará que "SET FOREIGN_KEY_CHECKS = 0".

--función
tipo: cadena

Qué función hash le gustaría usar para sumas de comprobación.

El predeterminado es "CRC32". Otras buenas opciones incluyen "MD5" y "SHA1". Si usted tiene
instalado la función definida por el usuario "FNV_64", "pt-table-sync" la detectará y
prefiero usarlo, porque es mucho más rápido que los integrados. También puedes usar
MURMUR_HASH si ha instalado esa función definida por el usuario. Ambos son
distribuido con Maatkit. Consulte pt-table-checksum para obtener más información y evaluaciones comparativas.

--ayuda
Muestre ayuda y salga.

- [no] mancha hexadecimal
predeterminado: sí

Columnas "HEX ()" "BLOB", "TEXTO" y "BINARIO".

Cuando se obtienen datos de fila de la fuente para crear consultas para sincronizar los datos (es decir, el
consultas vistas con "--print" y ejecutadas por "--execute"), las columnas binarias se envuelven
in MALEFICIO() por lo que los datos binarios no producen una declaración SQL no válida. Usted puede
deshabilite esta opción, pero probablemente no debería hacerlo.

--anfitrión
forma corta: -h; tipo: cadena

Conéctese al anfitrión.

--ignorar-columnas
tipo: Hash

Ignore esta lista separada por comas de nombres de columnas en las comparaciones.

Esta opción hace que las columnas no se comparen. Sin embargo, si se determina que una fila
difieren entre las tablas, todas las columnas de esa fila se sincronizarán, independientemente. (No lo es
Actualmente es posible excluir columnas del proceso de sincronización en sí, solo del
comparación.)

--ignorar-bases de datos
tipo: Hash

Ignore esta lista de bases de datos separadas por comas.

(bases de datos del sistema como information_schema y esquema_de_rendimiento son ignorados por
defecto)

- ignorar-motores
tipo: Hash; predeterminado: FEDERATED, MRG_MyISAM

Ignore esta lista de motores de almacenamiento separados por comas.

--ignorar-tablas
tipo: Hash

Ignore esta lista de tablas separadas por comas.

Los nombres de las tablas se pueden calificar con el nombre de la base de datos.

--ignorar-tablas-regex
tipo: cadena; grupo: Filtro

Ignore las tablas cuyos nombres coincidan con la expresión regular de Perl.

- [no] sugerencia de índice
predeterminado: sí

Agregue sugerencias de FORCE / USE INDEX a las consultas de fragmentos y filas.

Por defecto, "pt-table-sync" agrega una sugerencia FORCE / USE INDEX a cada declaración SQL para coaccionar
MySQL en el uso del índice elegido por el algoritmo de sincronización o especificado por
"--chunk-index". Esto suele ser bueno, pero en raras ocasiones el índice puede no ser
lo mejor para la consulta, por lo que puede suprimir la sugerencia de índice especificando
"--no-index-hint" y deje que MySQL elija el índice.

Esto no afecta las consultas impresas por "--print"; solo afecta al trozo y
consultas de fila que utiliza "pt-table-sync" para seleccionar y comparar filas.

--cerrar con llave
tipo: int

Bloquear tablas: 0 = ninguna, 1 = por ciclo de sincronización, 2 = por tabla o 3 = globalmente.

Esto usa "LOCK TABLES". Esto puede ayudar a evitar que se cambien las tablas mientras está
examinándolos. Los valores posibles son los siguientes:

SIGNIFICADO DE VALOR
===== =========================================== ==========
0 Nunca bloquee las mesas.
1 Bloquear y desbloquear una vez por ciclo de sincronización (como se implementó
por el algoritmo de sincronización). Este es el más granular
nivel de bloqueo disponible. Por ejemplo, el Chunk
El algoritmo bloqueará cada fragmento de C filas, y luego
desbloquearlos si son iguales en la fuente y el
destino, antes de pasar al siguiente fragmento.
2 Bloquear y desbloquear antes y después de cada mesa.
3 Bloquee y desbloquee una vez por cada servidor (DSN) sincronizado, con
C .

Un esclavo de replicación nunca se bloquea si "--replicate" o "--sync-to-master" está
especificado, ya que, en teoría, bloquear la mesa en el maestro debería evitar cualquier cambio
de tener lugar. (No está cambiando los datos de su esclavo, ¿verdad?) Si "--wait" es
dado, el maestro (fuente) está bloqueado y luego la herramienta espera a que el esclavo se ponga al día
al maestro antes de continuar.

Si se especifica "--transaction", no se utiliza "LOCK TABLES". En su lugar, bloquee y desbloquee
se implementan iniciando y confirmando transacciones. La excepción es si
"--bloqueo" es 3.

Si se especifica "--no-transaction", se usa "LOCK TABLES" para cualquier valor de
"--cerrar con llave". Consulte "- [no] transacción".

--bloqueo y cambio de nombre
Bloquea la tabla de origen y destino, sincroniza y luego intercambia nombres. Esto es útil como
ALTER TABLE menos bloqueante, una vez que las tablas están razonablemente sincronizadas entre sí
(que puede optar por realizar a través de cualquier número de medios, incluido el volcado y la recarga
o incluso algo como pt-archiver). Requiere exactamente dos DSN y asume que
están en el mismo servidor, por lo que no tiene que esperar la replicación o similares. Las tablas son
bloqueado con LOCK TABLES.

--contraseña
forma corta: -p; tipo: cadena

Contraseña para usar al conectarse. Si la contraseña contiene comas, deben escaparse
con una barra invertida: "exam \, ple"

--pid
tipo: cadena

Cree el archivo PID dado. La herramienta no se iniciará si el archivo PID ya existe y
el PID que contiene es diferente al PID actual. Sin embargo, si el archivo PID
existe y el PID que contiene ya no se está ejecutando, la herramienta sobrescribirá el PID
archivo con el PID actual. El archivo PID se elimina automáticamente cuando se cierra la herramienta.

--Puerto
forma corta: -P; tipo: int

Número de puerto que se utilizará para la conexión.

--impresión
Imprime consultas que resolverán diferencias.

Si no confía en "pt-table-sync", o simplemente quiere ver qué hará, esta es una
buena manera de estar seguro. Estas consultas son SQL válido y puede ejecutarlas usted mismo si
desea sincronizar las tablas manualmente.

- método de recursión
tipo: matriz; predeterminado: lista de procesos, hosts

Método de recursividad preferido utilizado para encontrar esclavos.

Los posibles métodos son:

USOS DEL MÉTODO
=========== ==================
lista de procesos MOSTRAR LISTA DE PROCESOS
anfitriones MOSTRAR ANFITRIONES ESCLAVOS
ninguno No encuentro esclavos

Se prefiere el método de lista de procesos porque SHOW SLAVE HOSTS no es confiable.
Sin embargo, el método de hosts es necesario si el servidor utiliza un puerto no estándar (no
3306). Por lo general, pt-table-sync hace lo correcto y encuentra los esclavos, pero puede
dé un método preferido y se utilizará primero. Si no encuentra esclavos, el
se probarán otros métodos.

--reemplazar
Escriba todas las declaraciones "INSERTAR" y "ACTUALIZAR" como "REEMPLAZAR".

Esto se activa automáticamente según sea necesario cuando hay violaciones de índice únicas.

--reproducir exactamente
tipo: cadena

Sincronizar tablas enumeradas como diferentes en esta tabla.

Especifica que "pt-table-sync" debe examinar la tabla especificada para encontrar datos que
difiere. La tabla es exactamente igual que el argumento del mismo nombre para pt-table-
suma de comprobación. Es decir, contiene registros de qué tablas (y rangos de valores) difieren
entre el amo y el esclavo.

Para cada tabla y rango de valores que muestra diferencias entre el maestro y
esclavo, "pt-table-checksum" sincronizará esa tabla, con la cláusula correspondiente "WHERE",
a su amo.

Esto establece automáticamente "--wait" en 60 y hace que se realicen cambios en el maestro.
en lugar del esclavo.

Si se especifica "--sync-to-master", la herramienta asumirá que el servidor que especificó es
esclavo y conéctese al maestro como de costumbre para sincronizar.

De lo contrario, intentará utilizar "MOSTRAR LISTA DE PROCESOS" para encontrar esclavos del servidor que
especificado. Si no puede encontrar esclavos a través de "MOSTRAR LISTA DE PROCESOS", inspeccionará
En su lugar, "MOSTRAR ANFITRIONES ESCLAVOS". Debe configurar el "servidor de informes" de cada esclavo,
"report-port" y otras opciones para que esto funcione correctamente. Después de encontrar esclavos,
inspeccionar la tabla especificada en cada esclavo para encontrar datos que necesitan sincronizarse, y
sincronizarlo.

La herramienta examina primero la copia maestra de la tabla, asumiendo que el maestro es
potencialmente un esclavo también. Cualquier tabla que muestre diferencias habrá be
sincronizado en los esclavos. Por ejemplo, suponga que su replicación está configurada como A-> B,
B-> C, B-> D. Suponga que usa este argumento y especifica el servidor B. La herramienta
Examine la copia de la tabla del servidor B. Si se parece a los datos del servidor B en la tabla
"test.tbl1" es diferente de la copia del servidor A, la herramienta no sincronizará esa tabla en
servidores C y D.

--set-vars
tipo: Matriz

Establezca las variables de MySQL en esta lista separada por comas de pares "variable = valor".

De forma predeterminada, la herramienta establece:

wait_timeout = 10000

Las variables especificadas en la línea de comando anulan estos valores predeterminados. Por ejemplo,
especificar "--set-vars wait_timeout = 500" anula el valor predeterminado de 10000.

La herramienta imprime una advertencia y continúa si no se puede establecer una variable.

--enchufe
formas cortas; tipo: cadena

Archivo de socket que se utilizará para la conexión.

--sincronizar con el maestro
Trate el DSN como esclavo y sincronícelo con su maestro.

Trate el servidor que especificó como esclavo. Inspeccione "MOSTRAR ESTADO ESCLAVO", conéctese a
el maestro del servidor, y tratar al maestro como la fuente y al esclavo como el
destino. Provoca cambios en el maestro. Establece "--wait" en 60 por
predeterminado, establece "--lock" en 1 de forma predeterminada y deshabilita "- [no] transacción" de forma predeterminada.
Consulte también "--replicate", que cambia el comportamiento de esta opción.

--mesas
forma corta: -t; tipo: hash

Sincronice solo esta lista de tablas separadas por comas.

Los nombres de las tablas se pueden calificar con el nombre de la base de datos.

--tiempo de espera-ok
Continúe si "--wait" falla.

Si especifica "--wait" y el esclavo no alcanza la posición del maestro antes
el tiempo de espera se agota, el comportamiento predeterminado es abortar. Esta opción hace que la herramienta se mantenga
yendo de todos modos. advertencia: si está intentando obtener una comparación coherente entre los
dos servidores, probablemente no desee continuar después de un tiempo de espera.

- [no] transacción
Utilice transacciones en lugar de "LOCK TABLES".

La granularidad del inicio y la confirmación de transacciones está controlada por "--lock".
Esto está habilitado de forma predeterminada, pero como "--lock" está deshabilitado de forma predeterminada, no tiene
efecto.

La mayoría de las opciones que habilitan el bloqueo también deshabilitan las transacciones de forma predeterminada, así que si lo desea
para utilizar el bloqueo transaccional (a través de "BLOQUEO EN MODO COMPARTIDO" y "PARA ACTUALIZAR", debe
especificar "--transaction" explícitamente.

Si no especifica "--transaction" explícitamente, "pt-table-sync" decidirá un per-
base de tabla si se utilizan transacciones o bloqueos de tabla. Actualmente usa
transacciones en tablas InnoDB y bloqueos de tabla en todas las demás.

Si se especifica "--no-transaction", entonces "pt-table-sync" no usará transacciones en
all (ni siquiera para las tablas InnoDB) y el bloqueo se controla mediante "--lock".

Cuando está habilitado, ya sea explícita o implícitamente, el nivel de aislamiento de la transacción se establece
"LECTURA REPETIBLE" y las transacciones se inician "CON INSTANTÁNEA CONSISTENTE".

--podar
Columnas "TRIM ()" "VARCHAR" en los modos "BIT_XOR" y "ACCUM". Ayuda al comparar MySQL
4.1 a> = 5.0.

Esto es útil cuando no le importan las diferencias de espacio final entre MySQL
versiones que varían en su manejo de los espacios finales. MySQL 5.0 y posteriores todos
conservan los espacios finales en "VARCHAR", mientras que las versiones anteriores los eliminarían.

- [no] controles únicos
predeterminado: sí

Habilite las comprobaciones de claves únicas ("SET UNIQUE_CHECKS = 1").

Especificar "--no-unique-checks" hará que "SET UNIQUE_CHECKS = 0".

--usuario
forma corta: -u; tipo: cadena

Usuario para iniciar sesión si no es el usuario actual.

--verboso
forma corta: -v; acumulativo: si

Imprime los resultados de las operaciones de sincronización.

Consulte "SALIDA" para obtener más detalles sobre la salida.

--versión
Mostrar versión y salir.

- [no] verificación de versión
predeterminado: sí

Busque la última versión de Percona Toolkit, MySQL y otros programas.

Esta es una función estándar de "buscar actualizaciones automáticamente", con dos
características. Primero, la herramienta verifica la versión de otros programas en el sistema local en
además de su propia versión. Por ejemplo, verifica la versión de cada servidor MySQL.
se conecta a Perl y al módulo de Perl DBD :: mysql. En segundo lugar, comprueba y advierte
sobre versiones con problemas conocidos. Por ejemplo, MySQL 5.5.25 tenía un error crítico y
fue relanzado como 5.5.25a.

Cualquier actualización o problema conocido se imprime en STDOUT antes de la salida normal de la herramienta.
Esta característica nunca debe interferir con el funcionamiento normal de la herramienta.

Para más información visite .

--Espere
forma corta: -w; tipo: tiempo

Cuánto tiempo esperar para que los esclavos alcancen a su amo.

Haga que el maestro espere a que el esclavo se ponga al día en la replicación antes de comparar el
mesas. El valor es el número de segundos que se debe esperar antes de que se agote el tiempo (consulte también
"--tiempo de espera-ok"). Establece "--bloqueo" en 1 y "- [no] transacción" en 0 de forma predeterminada. Si tu
ver un error como el siguiente,

MASTER_POS_WAIT devolvió -1

Significa que se superó el tiempo de espera y debe aumentarlo.

El valor predeterminado de esta opción está influenciado por otras opciones. Para ver que valor es
en efecto, ejecute "--help".

Para deshabilitar la espera por completo (excepto para los bloqueos), especifique "--wait" 0. Esto ayuda cuando
el esclavo se retrasa en las tablas que no se sincronizan.

--dónde
tipo: cadena

Cláusula "DÓNDE" para restringir la sincronización a parte de la tabla.

- [no] zero-chunk
predeterminado: sí

Agregue un fragmento para las filas con valores cero o equivalentes a cero. Lo único que tiene efecto cuando
Se especifica "--chunk-size". El propósito del fragmento cero es capturar un
potencialmente gran cantidad de valores cero que desequilibrarían el tamaño de la primera
pedazo. Por ejemplo, si se insertaron muchos números negativos en un
columna entera que hace que se almacenen como ceros, luego estos valores cero se capturan
por el fragmento cero en lugar del primer fragmento y todos sus valores distintos de cero.

DSN OPCIONES


Estas opciones de DSN se utilizan para crear un DSN. Cada opción se da como "opción = valor".
Las opciones distinguen entre mayúsculas y minúsculas, por lo que P y p no son la misma opción. No puede haber
espacios en blanco antes o después del "=" y si el valor contiene espacios en blanco, se debe citar.
Las opciones de DSN están separadas por comas. Consulte la página de manual de percona-toolkit para obtener detalles completos.

· UNA

dsn: juego de caracteres; copia: si

Juego de caracteres predeterminado.

· D

dsn: base de datos; copia: si

Base de datos que contiene la tabla a sincronizar.

F

dsn: mysql_read_default_file; copia: si

Leer solo las opciones predeterminadas del archivo dado

· H

dsn: host; copia: si

Conéctese al anfitrión.

· pag

dsn: contraseña; copia: si

Contraseña para usar al conectarse. Si la contraseña contiene comas, deben escaparse
con una barra invertida: "exam \, ple"

· PAG

dsn: puerto; copia: si

Número de puerto que se utilizará para la conexión.

· S

dsn: mysql_socket; copia: si

Archivo de socket que se utilizará para la conexión.

· T

copia: si

Mesa para sincronizar.

· U

dsn: usuario; copia: si

Usuario para iniciar sesión si no es el usuario actual.

MEDIO AMBIENTE


La variable de entorno "PTDEBUG" habilita la salida de depuración detallada a STDERR. Para permitir
depurar y capturar toda la salida en un archivo, ejecute la herramienta como:

PTDEBUG = 1 pt-table-sync ...> ARCHIVO 2> & 1

Tenga cuidado: la salida de depuración es voluminosa y puede generar varios megabytes de salida.

LITE PARA TECHOS PLANOS REQUISITOS


Necesita Perl, DBI, DBD :: mysql y algunos paquetes centrales que deberían instalarse en cualquier
versión razonablemente nueva de Perl.

Use pt-table-syncp en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad




×
Anuncio
❤ ️Compre, reserve o adquiera aquí: sin costo, ayuda a mantener los servicios gratuitos.