Este es el comando pt-slave-restartp 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-slave-restart: observe y reinicie la replicación de MySQL después de los errores.
SINOPSIS
Uso: pt-slave-restart [OPCIONES] [DSN]
pt-slave-restart observa uno o más esclavos de replicación de MySQL en busca de errores e intenta
reinicie la replicación si se detiene.
RIESGOS
Percona Toolkit es maduro, probado en el mundo real y bien probado, pero todas las bases de datos
las herramientas pueden suponer un riesgo para el sistema y el servidor de la base de 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
DESCRIPCIÓN
pt-slave-restart observa uno o más esclavos de replicación de MySQL e intenta omitir declaraciones
que provocan errores. Encuesta a los esclavos de forma inteligente con un sueño que varía exponencialmente.
tiempo. Puede especificar errores para omitir y ejecutar los esclavos hasta una determinada posición de binlog.
Aunque esta herramienta puede ayudar a un esclavo a superar los errores, no debe confiar en ella para
"arreglar" la replicación. Si los errores del esclavo ocurren con frecuencia o inesperadamente, debe identificar
y solucione la causa raíz.
SALIDA
Si especifica "--verbose", pt-slave-restart imprime una línea cada vez que ve al esclavo
tiene un error. Consulte "--verbose" para obtener más detalles.
SLEEP
pt-slave-restart duerme inteligentemente entre el sondeo del esclavo. El tiempo de sueño actual
varía
· El tiempo de sueño inicial viene dado por "--sleep".
· Si comprueba y encuentra un error, reduce a la mitad el tiempo de suspensión anterior.
· Si no encuentra ningún error, duplica el tiempo de reposo anterior.
· El tiempo de reposo está delimitado por debajo de "--min-sleep" y por encima de "--max-sleep".
· Inmediatamente después de encontrar un error, pt-slave-restart asume que otro error es muy
es probable que suceda a continuación, por lo que duerme el tiempo de sueño actual o el tiempo de sueño inicial,
el que sea menor.
GLOBAL TRANSACCIÓN IDS
A partir de Percona Toolkit 2.2.8, pt-slave-restart admite los ID de transacciones globales introducidos
en MySQL 5.6.5. Es importante tener en cuenta que:
· Pt-slave-restart no omitirá transacciones cuando se realicen múltiples subprocesos de replicación
siendo utilizado (slave_parallel_workers> 0). pt-slave-restart no sabe lo que es el GTID
El evento es de la transacción fallida de un subproceso esclavo específico.
· El comportamiento predeterminado es omitir la siguiente transacción del maestro del esclavo. Escribe
puede originarse en diferentes servidores, cada uno con su propio UUID.
Consulte "--master-uuid".
SALIR ESTADO
Un estado de salida de 0 (a veces también llamado valor de retorno o código de retorno) indica
éxito. Cualquier otro valor representa el estado de salida del propio proceso de Perl, o del
último proceso bifurcado que salió si había varios servidores para monitorear.
COMPATIBILIDAD
pt-slave-restart debería funcionar en muchas versiones de MySQL. Lettercase de muchas columnas de salida
de SHOW SLAVE STATUS ha cambiado con el tiempo, por lo que los trata a todos como minúsculas.
OPCIONES
Esta herramienta acepta argumentos de línea de comandos adicionales. Consulte la "SINOPSIS" y el uso
información para más detalles.
--siempre
Inicie esclavos incluso cuando no haya ningún error. Con esta opción habilitada, pt-slave-restart
no le permitirá detener el esclavo manualmente si así lo desea.
--pedir-pasar
Solicitar una contraseña al conectarse a MySQL.
--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-relay-log
predeterminado: sí
Verifique el último archivo de registro del relé y la posición antes de verificar si hay errores de esclavo.
Por defecto pt-slave-restart no hará nada (solo dormirá) si ninguno
el archivo de registro del relé ni la posición del registro del relé han cambiado desde la última verificación. Esta
previene bucles infinitos (es decir, reiniciar el mismo error en el mismo archivo de registro de relé en
la misma posición del registro del relé).
Sin embargo, para ciertos errores de esclavo, esta verificación debe desactivarse especificando
"--no-check-relay-log". ¡No haga esto a menos que sepa lo que está haciendo!
--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.
- demonizar
Bifurcar al fondo y separar de la cáscara. Solo sistemas operativos POSIX.
--base de datos
forma corta: -D; tipo: cadena
Base de datos a utilizar.
--archivo-predeterminado
forma corta: -F; tipo: cadena
Solo lea las opciones de mysql del archivo dado. Debe dar un nombre de ruta absoluto.
- longitud de error
tipo: int
Longitud máxima del mensaje de error para imprimir. Cuando "--verbose" se establece lo suficientemente alto para imprimir
el error, esta opción truncará el texto del error a la longitud especificada. Esto puede
será útil para evitar que se enrolle en el terminal.
- números de error
tipo: hash
Solo reinicie esta lista de errores separados por comas. Hace que pt-slave-restart solo intente
reiniciar si el número de error está en esta lista de errores separados por comas. Si ve un
error no en la lista, saldrá.
El número de error está en la columna "last_errno" de "SHOW SLAVE STATUS".
--texto de error
tipo: cadena
Solo reinicie los errores que coincidan con este patrón. Una expresión regular de Perl contra la cual
el texto de error, si lo hay, coincide. Si el texto de error existe y coincide, pt-slave-
reiniciar intentará reiniciar el esclavo. Si existe pero no coincide, pt-slave-
reiniciar saldrá.
El texto de error está en la columna "last_error" de "MOSTRAR ESTADO DE ESCLAVO".
--ayuda
Muestre ayuda y salga.
--anfitrión
forma corta: -h; tipo: cadena
Conéctese al anfitrión.
--Iniciar sesión
tipo: cadena
Imprime toda la salida en este archivo cuando se daemonized.
- sueño máximo
tipo: flotador; predeterminado: 64
Segundos máximos de sueño.
El tiempo máximo que pt-slave-restart estará inactivo antes de volver a sondear al esclavo. Este es
también el tiempo en que pt-slave-restart esperará a que salgan todas las demás instancias en ejecución
si se especifican tanto "--stop" como "--monitor".
Consulte "DORMIR".
--min-sueño
tipo: flotador; predeterminado: 0.015625
El tiempo mínimo pt-slave-restart estará inactivo antes de volver a sondear al esclavo. Ver
"DORMIR".
--monitor
Ya sea para monitorear el esclavo (predeterminado). A menos que especifique --monitor explícitamente,
"--stop" lo desactivará.
--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.
--tranquilo
forma corta: -q
Suprime la salida normal (desactiva "--verbose").
--recurrencia
tipo: int; predeterminado: 0
Observe los esclavos del servidor especificado, hasta el número especificado de servidores en profundidad
La jerarquía. La profundidad predeterminada de 0 significa "solo observe el esclavo especificado".
pt-slave-restart examina "MOSTRAR LISTA DE PROCESOS" e intenta determinar qué conexiones
son de esclavos, luego conéctese a ellos. Consulte "--recursion-method".
La recursividad funciona al encontrar todos los esclavos cuando comienza el programa y luego mirarlos. Si
hay más de un esclavo, "pt-slave-restart" usa "fork ()" para monitorearlos.
Esto también funciona si ha configurado sus esclavos para que aparezcan en "MOSTRAR HOSTS ESCLAVOS".
La configuración mínima para esto es el parámetro "report_host", pero hay otros
parámetros de "informe" también para el puerto, el nombre de usuario y la contraseña.
- 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-slave-restart hace lo correcto y encuentra a los esclavos, pero usted
puede dar un método preferido y se utilizará primero. Si no encuentra esclavos,
se probarán los otros métodos.
--tiempo de ejecución
tipo: tiempo
Es hora de correr antes de salir. Hace que pt-slave-restart se detenga después del tiempo especificado
ha transcurrido. Sufijo opcional: s = segundos, m = minutos, h = horas, d = días; si no hay sufijo, s
se utiliza.
--centinela
tipo: cadena; predeterminado: / tmp / pt-slave-restart-sentinel
Salga si este archivo existe.
--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.
- recuento de saltos
tipo: int; predeterminado: 1
Número de declaraciones que se deben omitir al reiniciar el esclavo.
--maestro-uuid
tipo: cadena
Al usar GTID, se debe crear una transacción vacía para omitirla. Si
escrituras provienen de diferentes nodos en el árbol de replicación anterior, no es
Es posible saber qué evento de qué UUID omitir.
De forma predeterminada, las transacciones del maestro del esclavo ('Master_UUID' de "SHOW SLAVE
STATUS ") se omiten.
Por ejemplo, con
maestro1 -> esclavo1 -> esclavo2
Al omitir eventos en esclavo2 que se escribieron en maestro1, debe especificar el UUID
de master1, de lo contrario, la herramienta utilizará el UUID de slave1 de forma predeterminada.
Consulte "ID de transacciones GLOBALES".
--dormir
tipo: int; predeterminado: 1
Segundos de reposo iniciales entre la comprobación del esclavo.
Consulte "DORMIR".
--enchufe
formas cortas; tipo: cadena
Archivo de socket que se utilizará para la conexión.
--parada
Detenga la ejecución de instancias creando el archivo centinela.
Hace que "pt-slave-restart" cree el archivo centinela especificado por "--sentinel". Esta
debería tener el efecto de detener todas las instancias en ejecución que están viendo el mismo
archivo centinela. Si no se especifica "--monitor", "pt-slave-restart" saldrá después
creando el archivo. Si se especifica, "pt-slave-restart" esperará el intervalo
dado por "--max-sleep", luego elimine el archivo y continúe trabajando.
Puede que le resulte útil para detener los trabajos cron correctamente si es necesario, o para reemplazar uno
instancia en ejecución con otra. Por ejemplo, si desea detener y reiniciar
"pt-slave-restart" cada hora (solo para asegurarse de que se reinicia cada hora, en
caso de un fallo del servidor o algún otro problema), puede utilizar una línea "crontab" como
modo:
0 * * * * pt-slave-restart --monitor --stop --sentinel / tmp / pt-slave-restartup
El "--sentinel" no predeterminado se asegurará de que el trabajo "cron" por hora detenga solo las instancias
previamente iniciado con las mismas opciones (es decir, desde el mismo trabajo "cron").
Consulte también "--sentinel".
--hasta-maestro
tipo: cadena
Ejecute hasta este archivo de registro maestro y posición. Inicie el esclavo y vuelva a intentarlo si falla.
hasta que alcance las coordenadas de replicación dadas. Las coordenadas son el archivo de registro
y posición en el maestro, dada por relay_master_log_file, exec_master_log_pos. los
El argumento debe tener el formato "archivo, pos". Separe el nombre del archivo y la posición con un
coma simple y sin espacios.
Esto también hará que se dé una cláusula UNTIL a START SLAVE.
Después de llegar a este punto, el esclavo debe detenerse y pt-slave-restart saldrá.
--hasta-relé
tipo: cadena
Ejecutar hasta este archivo de registro de retransmisión y posición. Como "--until-master", pero en el esclavo
en su lugar, retransmita registros. Las coordenadas están dadas por relay_log_file, relay_log_pos.
--usuario
forma corta: -u; tipo: cadena
Usuario para iniciar sesión si no es el usuario actual.
--verboso
forma corta: -v; acumulativo: sí; predeterminado: 1
Sea prolijo; Puede especificar varias veces. La verbosidad 1 emite información de conexión, una
timestamp, relay_log_file, relay_log_pos y last_errno. Verbosity 2 agrega
last_error. Consulte también "--error-length". Verbosity 3 imprime el tiempo de reposo actual
cada vez que pt-slave-restart duerme.
--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 .
Mostrar versión y salir.
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 predeterminada.
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.
· 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-esclavo-reiniciar ...> 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-slave-restartp en línea usando los servicios de onworks.net