Este es el comando pt-variable-advisorp 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-variable-advisor: analiza las variables de MySQL y asesora sobre posibles problemas.
SINOPSIS
Uso: pt-variable-advisor [OPCIONES] [DSN]
pt-variable-advisor analiza las variables y aconseja sobre posibles problemas.
Obtenga MOSTRAR VARIABLES de localhost:
pt-variable-asesor localhost
Obtenga la salida MOSTRAR VARIABLES guardada en vars.txt:
pt-variable-advisor --fuente-de-variables vars.txt
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-variable-advisor examina "MOSTRAR VARIABLES" en busca de valores y configuraciones incorrectos de acuerdo con
"REGLAS" que se describen a continuación. Informa sobre las variables que coinciden con las reglas, para que pueda encontrar
mala configuración en su servidor MySQL.
En el momento de esta versión, pt-variable-advisor solo muestra ejemplos de "MOSTRAR VARIABLES", pero otros
Las fuentes de entrada están planificadas como "MOSTRAR ESTADO" y "MOSTRAR ESTADO ESCLAVO".
REGLAS
Estas son las reglas que pt-variable-advisor aplicará a MOSTRAR VARIABLES. Cada regla tiene
tres partes: una identificación, una gravedad y una descripción.
El ID de la regla es un nombre corto y único para la regla. Suele relacionarse con la variable
que examina la regla. Si una variable es examinada por varias reglas, entonces los ID de las reglas
están numerados como "-1", "-2", "-N".
La severidad de la regla es una indicación de cuán importante es que esta regla coincida con un
consulta. Usamos NOTE, WARN y CRIT para denotar estos niveles.
La descripción de la regla es una explicación textual legible por humanos de lo que significa cuando un
variable coincide con esta regla. Dependiendo de la verbosidad del informe que genere,
Verá más texto en la descripción. De forma predeterminada, solo verá el primero
oración, que es una especie de breve sinopsis del significado de la regla. En una verbosidad más alta,
verá oraciones posteriores.
autoincremento
severidad: nota
¿Está intentando escribir en más de un servidor en una replicación de anillo o maestro dual?
¿configuración? Esto es potencialmente muy peligroso y en la mayoría de los casos es un problema grave.
Error. Las razones de la mayoría de las personas para hacer esto en realidad no son válidas en absoluto.
inserción_concurrente
severidad: nota
Es posible que los huecos (espacios que dejan las eliminaciones) en las tablas MyISAM nunca se reutilicen.
tiempo de espera de conexión
severidad: nota
Un gran valor de esta configuración puede crear una vulnerabilidad de denegación de servicio.
depurar
severidad: crit
Los servidores creados con capacidad de depuración no deben usarse en producción debido a
el gran impacto en el rendimiento.
demora_clave_escritura
severidad: advertir
Los bloques de índice MyISAM nunca se vacían hasta que sea necesario. Si hay un bloqueo del servidor,
La corrupción de datos en las tablas MyISAM puede ser mucho peor de lo habitual.
enjuagar
severidad: advertir
Esta opción puede reducir considerablemente el rendimiento.
tiempo_de_descarga
severidad: advertir
Esta opción puede reducir considerablemente el rendimiento.
tener_bdb
severidad: nota
El motor BDB está obsoleto. Si no lo está utilizando, debe desactivarlo con el
opción skip_bdb.
init_conectar
severidad: nota
La opción init_connect está habilitada en este servidor.
archivo_inicial
severidad: nota
La opción init_file está habilitada en este servidor.
esclavo_inicial
severidad: nota
La opción init_slave está habilitada en este servidor.
innodb_additional_mem_pool_size
severidad: advertir
Por lo general, esta variable no tiene por qué superar los 20 MB.
innodb_buffer_pool_size
severidad: advertir
El tamaño del grupo de búfer de InnoDB no está configurado. En un entorno de producción debería
siempre debe configurarse explícitamente y el tamaño predeterminado de 10 MB no es bueno.
innodb_sumas de comprobación
severidad: advertir
Las sumas de comprobación de InnoDB están deshabilitadas. Sus datos no están protegidos contra daños en el hardware o
otros errores!
innodb_doble escritura
severidad: advertir
InnoDB doublewrite está deshabilitado. A menos que utilice un sistema de archivos que lo proteja contra
escrituras de página parcial, sus datos no están seguros!
innodb_fast_shutdown
severidad: advertir
El comportamiento de apagado de InnoDB no es el predeterminado. Esto puede provocar un rendimiento deficiente o
la necesidad de realizar una recuperación de fallos al inicio.
innodb_flush_log_at_trx_commit-1
severidad: advertir
InnoDB no está configurado en modo estrictamente ACID. Si hay un accidente, algunos
las transacciones se pueden perder.
innodb_flush_log_at_trx_commit-2
severidad: advertir
Establecer innodb_flush_log_at_trx_commit en 0 no tiene beneficios de rendimiento sobre la configuración
a 2, y son posibles más tipos de pérdida de datos. Si estás intentando cambiarlo
desde 1 por motivos de rendimiento, debe establecerlo en 2 en lugar de 0.
innodb_force_recovery
severidad: advertir
¡InnoDB está en modo de recuperación forzada! Esto debe usarse solo temporalmente cuando
recuperarse de la corrupción de datos u otros errores, no para el uso normal.
innodb_lock_wait_timeout
severidad: advertir
Esta opción tiene un valor inusualmente largo, que puede causar una sobrecarga del sistema si los bloqueos están
no ser liberado.
innodb_log_buffer_size
severidad: advertir
Por lo general, el tamaño del búfer de registro de InnoDB no debe ser superior a 16 MB. Si usted es
Realizando grandes operaciones BLOB, InnoDB no es realmente una buena opción de motores de todos modos.
innodb_log_file_size
severidad: advertir
El tamaño del archivo de registro de InnoDB se establece en su valor predeterminado, que no se puede utilizar en
sistemas de producción.
innodb_max_dirty_pages_pct
severidad: nota
El innodb_max_dirty_pages_pct es más bajo que el predeterminado. Esto puede causar demasiado
descarga agresiva y agrega carga al sistema de E / S.
tiempo_de_descarga
severidad: advertir
Es probable que esta configuración provoque un rendimiento muy deficiente cada flush_time segundos.
Key_buffer_size
severidad: advertir
El tamaño del búfer de claves se establece en su valor predeterminado, lo que no es bueno para la mayoría de las producciones.
sistemas. En un entorno de producción, key_buffer_size debe ser mayor que el
tamaño predeterminado de 8 MB.
páginas_grandes
severidad: nota
Las páginas grandes están habilitadas.
bloqueado_en_memoria
severidad: nota
El servidor está bloqueado en la memoria con --memlock.
log_warnings-1
severidad: nota
Log_warnings está deshabilitado, por lo que eventos inusuales, como declaraciones que no son seguras para la replicación
y las conexiones abortadas no se registrarán en el registro de errores.
log_warnings-2
severidad: nota
Log_warnings debe establecerse mayor que 1 para registrar eventos inusuales como abortados
conexiones.
actualizaciones_de_baja_prioridad
severidad: nota
El servidor se está ejecutando con una prioridad de bloqueo no predeterminada para las actualizaciones. Esto podria causar
actualizar consultas para esperar inesperadamente consultas de lectura.
tamaño_max_binlog
severidad: nota
Max_binlog_size es más pequeño que el valor predeterminado de 1 GB.
max_connect_errors
severidad: nota
max_connect_errors probablemente debería establecerse tan grande como lo permita su plataforma.
Max_connections
severidad: advertir
Si el servidor alguna vez tiene más de mil subprocesos en ejecución, entonces el sistema está
es probable que dediquen más tiempo a programar hilos que a realizar un trabajo realmente útil. Esta
El valor de la variable debe considerarse a la luz de su carga de trabajo.
myisam_repair_threads
severidad: nota
myisam_repair_threads> 1 habilita la reparación de subprocesos múltiples, que está relativamente sin probar
y todavía aparece como código de calidad beta en la documentación oficial.
contraseñas_antiguas
severidad: advertir
Las contraseñas antiguas son inseguras. Se envían en texto sin formato a través del cable.
Optimizer_prune_level
severidad: advertir
El optimizador utilizará una búsqueda exhaustiva al planificar consultas complejas, que pueden
hacer que el proceso de planificación lleve mucho tiempo.
Puerto
severidad: nota
El servidor está escuchando en un puerto no predeterminado.
consulta_caché_tamaño-1
severidad: nota
La caché de consultas no escala a tamaños grandes y puede causar un rendimiento inestable cuando
superior a 128 MB, especialmente en máquinas de varios núcleos.
consulta_caché_tamaño-2
severidad: advertir
La caché de consultas puede causar graves problemas de rendimiento cuando supera los 256 MB,
especialmente en máquinas de varios núcleos.
read_buffer_size-1
severidad: nota
La variable read_buffer_size generalmente debe dejarse en su valor predeterminado a menos que un experto
determina que es necesario cambiarlo.
read_buffer_size-2
severidad: advertir
La variable read_buffer_size no debe superar los 8 MB. Generalmente debería ser
se deja en su valor predeterminado a menos que un experto determine que es necesario cambiarlo. Haciendo
Su tamaño superior a 2 MB puede afectar significativamente el rendimiento y hacer que el servidor se bloquee,
cambiar a la muerte, o simplemente volverse extremadamente inestable.
read_rnd_buffer_size-1
severidad: nota
La variable read_rnd_buffer_size generalmente debe dejarse en su valor predeterminado a menos que una
El experto determina que es necesario cambiarlo.
read_rnd_buffer_size-2
severidad: advertir
La variable read_rnd_buffer_size no debe ser mayor de 4M. Generalmente debería
permanecer en su valor predeterminado a menos que un experto determine que es necesario cambiarlo.
límite_espacio_relé_registro
severidad: advertir
La configuración de relay_log_space_limit puede hacer que las réplicas dejen de obtener registros binarios de
su amo inmediatamente. Esto podría aumentar el riesgo de que sus datos se pierdan si
el maestro se estrella. Si las réplicas han encontrado un límite en el espacio de registro de retransmisión, entonces
es posible que las últimas transacciones existan solo en el maestro y no en la réplica
los ha recuperado.
esclavo_net_timeout
severidad: advertir
Esta variable está configurada demasiado alta. Esto es demasiado tiempo para esperar antes de notar que el
la conexión con el maestro ha fallado y se está volviendo a intentar. Probablemente debería establecerse en 60
segundos o menos. También es una buena idea utilizar pt-heartbeat para asegurarse de que
la conexión no parece agotar el tiempo de espera cuando el maestro simplemente está inactivo.
Slave_skip_errors
severidad: crit
No debe configurar esta opción. Si la replicación tiene errores, debe buscar y
resolver la causa de eso; Es probable que los datos de su esclavo sean diferentes de los
Maestro. Puede averiguarlo con pt-table-checksum.
sort_buffer_size-1
severidad: nota
La variable sort_buffer_size generalmente debe dejarse en su valor predeterminado a menos que un experto
determina que es necesario cambiarlo.
sort_buffer_size-2
severidad: nota
La variable sort_buffer_size generalmente debe dejarse en su valor predeterminado a menos que un experto
determina que es necesario cambiarlo. Hacerlo más grande que unos pocos MB puede doler
rendimiento significativamente, y puede hacer que el servidor se bloquee, cambie a la muerte o simplemente
volverse extremadamente inestable.
notas_sql
severidad: nota
Este servidor está configurado para no registrar advertencias de nivel de nota en el registro de errores.
sincronizar_frm
severidad: advertir
Es mejor configurar sync_frm para que los archivos .frm se descarguen de forma segura en el disco en caso de
caída del servidor.
tx_aislamiento-1
severidad: nota
El nivel de aislamiento de transacciones de este servidor no es el predeterminado.
tx_aislamiento-2
severidad: advertir
La mayoría de las aplicaciones deben usar el nivel de aislamiento de transacciones REPEATABLE-READ predeterminado,
o en algunos casos READ-COMMITTED.
expirar_logs_days
severidad: advertir
Los registros binarios están habilitados, pero la purga automática no está habilitada. Si no purgas
registros binarios, su disco se llenará. Si elimina registros binarios de forma externa a MySQL,
provocará comportamientos no deseados. Siempre pida a MySQL que elimine los registros obsoletos, nunca
eliminarlos externamente.
innodb_file_io_threads
severidad: nota
Esta opción es inútil excepto en Windows.
innodb_data_file_path
severidad: nota
Los archivos InnoDB de extensión automática pueden consumir una gran cantidad de espacio en disco que es muy difícil de
reclamar más tarde. Algunas personas prefieren establecer innodb_file_per_table y asignar un fijo-
archivo de tamaño para ibdata1.
innodb_flush_método
severidad: nota
La mayoría de los servidores de bases de datos de producción que utilizan InnoDB deberían configurar innodb_flush_method en
O_DIRECT para evitar el doble búfer, a menos que el sistema de E / S tenga un rendimiento muy bajo.
innodb_locks_unsafe_for_binlog
severidad: advertir
Esta opción realiza la recuperación en un momento determinado a partir de registros binarios y la replicación,
no es de confianza si se utiliza el registro basado en declaraciones.
innodb_support_xa
severidad: advertir
El soporte de transacciones XA interno de MySQL entre InnoDB y el registro binario está deshabilitado.
Es posible que el registro binario no coincida con el estado de InnoDB después de la recuperación de fallas y la replicación
podría perder la sincronización debido a declaraciones fuera de orden en el registro binario.
log_bin
severidad: advertir
El registro binario está deshabilitado, por lo que la recuperación y la replicación en un momento dado no están
posible.
registro_salida
severidad: advertir
Dirigir la salida del registro a tablas tiene un alto impacto en el rendimiento.
max_relay_log_size
severidad: nota
Se define un max_relay_log_size personalizado.
myisam_recover_opciones
severidad: advertir
myisam_recover_options debe establecerse en algún valor como BACKUP, FORCE para garantizar que
se advierte la corrupción de la tabla.
motor_almacenamiento
severidad: nota
El servidor utiliza un motor de almacenamiento no estándar de forma predeterminada.
sincronización_binlog
severidad: advertir
El registro binario está habilitado, pero sync_binlog no está configurado para que cada transacción
se descarga en el registro binario para mayor durabilidad.
tmp_table_size
severidad: nota
El tamaño mínimo efectivo de las tablas temporales implícitas en memoria utilizadas internamente
durante la ejecución de la consulta es min (tmp_table_size, max_heap_table_size), entonces
max_heap_table_size debe ser al menos tan grande como tmp_table_size.
antigua versión de mysql
severidad: advertir
Estas son las versiones mínimas recomendadas para cada versión principal: 3.23, 4.1.20,
5.0.37, 5.1.30.
versión de mysql al final de su vida útil
severidad: nota
Todas las versiones anteriores a la 5.1 están oficialmente al final de su vida útil.
OPCIONES
Esta herramienta acepta argumentos de línea de comandos adicionales. Consulte la "SINOPSIS" y el uso
información para más detalles.
--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.
--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
Conéctese a esta base de datos.
--archivo-predeterminado
forma corta: -F; tipo: cadena
Solo lea las opciones de mysql del archivo dado. Debe dar un nombre de ruta absoluto.
--ayuda
Muestre ayuda y salga.
--anfitrión
forma corta: -h; tipo: cadena
Conéctese al anfitrión.
--ignorar-reglas
tipo: hash
Ignore estos ID de reglas.
Especifique una lista separada por comas de ID de reglas (por ejemplo, LIT.001, RES.002, etc.) para ignorar.
--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.
--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.
--fuente-de-variables
tipo: cadena; predeterminado: mysql
Lea "MOSTRAR VARIABLES" de esta fuente. Los valores posibles son "mysql", "none" o un archivo.
nombre. Si se especifica "mysql", también debe especificar un DSN en la línea de comando.
--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
Aumenta la verbosidad de la salida. En el nivel predeterminado de verbosidad, el programa imprime
solo la primera oración de la descripción de cada regla. En niveles superiores, el programa
imprime más de la descripción.
--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 .
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 asesor-variable-pt ...> 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-variable-advisorp en línea usando los servicios de onworks.net