GoGPT Best VPN GoSearch

icono de página de OnWorks

pt-findp: en línea en la nube

Ejecute pt-findp en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando pt-findp 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-find: busque tablas MySQL y ejecute acciones, como GNU find.

SINOPSIS


Uso: pt-find [OPCIONES] [BASES DE DATOS]

pt-find busca tablas MySQL y ejecuta acciones, como GNU find. La acción predeterminada
es imprimir la base de datos y el nombre de la tabla.

Busque todas las tablas creadas hace más de un día, que utilizan el motor MyISAM, e imprima sus
nombres:

pt-encontrar --ctime +1 --engine MyISAM

Busque tablas InnoDB y conviértalas a MyISAM:

pt-find --engine InnoDB --exec "ALTER TABLE% D.% N ENGINE = MyISAM"

Buscar tablas creadas por un proceso que ya no existe, siguiendo el nombre name_sid_pid
convención y eliminarlos.

pt-find - id-conexión '\ D_ \ d + _ (\ d +) $' - id-servidor '\ D _ (\ d +) _ \ d + $' --exec-plus "DROP TABLE% s"

Busque tablas vacías en las bases de datos de prueba y basura, y elimínelas:

pt-find - prueba basura vacía --exec-plus "DROP TABLE% s"

Encuentre tablas de más de cinco gigabytes en tamaño total:

pt-find --tablesize + 5G

Busque todas las tablas e imprima sus datos totales y el tamaño del índice, y ordene las tablas más grandes primero
(Por cierto, sort es un programa diferente).

pt-find --printf "% T \ t% D.% N \ n" | sort -rn

Como arriba, pero esta vez, inserte los datos nuevamente en la base de datos para la posteridad:

pt-find --noquote --exec "INSERT INTO sysdata.tblsize (db, tbl, size) VALUES ('% D', '% N',% T)"

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-find busca tablas MySQL que pasen las pruebas que especifique y ejecuta las acciones
tu específicas. La acción predeterminada es imprimir la base de datos y el nombre de la tabla en STDOUT.

pt-find es más simple que GNU find. No te permite especificar expresiones complicadas.
en la línea de comando.

pt-find usa MOSTRAR TABLAS cuando es posible y MOSTRAR ESTADO DE LA TABLA cuando es necesario.

OPCIÓN TIPOS


Hay tres tipos de opciones: opciones normales, que determinan algún comportamiento o
configuración; pruebas, que determinan si una tabla debe incluirse en la lista de tablas
fundar; y acciones, que hacen algo con las tablas que pt-find encuentra.

pt-find usa el análisis estándar de opciones Getopt :: Long, por lo que debe usar guiones dobles en
delante de nombres de opciones largos, a diferencia de GNU find.

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.

no distingue entre mayúsculas y minúsculas
Especifica que todas las búsquedas de expresiones regulares no distinguen entre mayúsculas y minúsculas.

--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.

--base de datos
forma corta: -D; tipo: cadena

Conéctese a esta base de datos.

- inicio del día
Mida los tiempos (para "--mmin", etc.) desde el comienzo de hoy en lugar de desde el
tiempo actual.

--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.

--o
Combine pruebas con OR, no AND.

De forma predeterminada, las pruebas se evalúan como si hubiera un Y entre ellas. Esta opción
lo cambia a OR.

El análisis de opciones no está implementado por pt-find, por lo que no puede especificar complicados
expresiones con paréntesis y mezclas de OR y AND.

--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.

- [sin] cotización
predeterminado: sí

Cita los nombres de los identificadores de MySQL con el carácter de comillas invertidas estándar de MySQL.

La cotización ocurre después de que se ejecutan las pruebas y antes de que se ejecuten las acciones.

--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.

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

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

--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 .

TESTS
La mayoría de las pruebas verifican algún criterio con una columna de salida SHOW TABLE STATUS. Numérico
Los argumentos se pueden especificar como + n para mayor que n, -n para menor que n, y n para exactamente
norte. Todas las opciones numéricas pueden tomar un sufijo multiplicador opcional de k, M o G (1_024,
1_048_576 y 1_073_741_824 respectivamente). Todos los patrones son expresiones regulares de Perl
(ver 'man perlre') a menos que se especifique como patrones SQL LIKE.

Las fechas y horas se miden en relación con el mismo instante, cuando pt-find primero pregunta al
servidor de base de datos qué hora es. Toda la manipulación de fecha y hora se realiza en SQL, por lo que si
digamos que busque tablas modificadas hace 5 días, eso se traduce en SELECCIONAR
DATE_SUB (CURRENT_TIMESTAMP, INTERVAL 5 DAY). Si especifica "--day-start", si el curso es
relativo a CURRENT_DATE en su lugar.

Sin embargo, los tamaños de las tablas y otras métricas no son consistentes en un instante. Puede
tomar algo de tiempo para que MySQL procese todas las consultas SHOW, y pt-find no puede hacer nada
sobre eso. Estas medidas corresponden al momento en que se toman.

Si necesita alguna prueba que no está en esta lista, presente un informe de error y mejoraré pt-find
para ti. Es muy facil.

--autoinc
tipo: cadena; grupo: Pruebas

El siguiente AUTO_INCREMENT de la tabla es n. Esto prueba la columna Auto_increment.

--avgrullen
tipo: tamaño; grupo: Pruebas

La longitud promedio de la fila de la tabla es n bytes. Esto prueba la columna Avg_row_length. El especificado
el tamaño puede ser "NULL" para probar dónde Avg_row_length ES NULL.

- suma de comprobación
tipo: cadena; grupo: Pruebas

La suma de comprobación de la tabla es n. Esto prueba la columna Checksum.

--cmín
tipo: tamaño; grupo: Pruebas

La tabla se creó hace n minutos. Esto prueba la columna Create_time.

--colación
tipo: cadena; grupo: Pruebas

La intercalación de la tabla coincide con el patrón. Esto prueba la columna Colación.

--nombre-columna
tipo: cadena; grupo: Pruebas

Un nombre de columna en la tabla coincide con el patrón.

- tipo de columna
tipo: cadena; grupo: Pruebas

Una columna de la tabla coincide con este tipo (no distingue entre mayúsculas y minúsculas).

Ejemplos de tipos son: varchar, char, int, smallint, bigint, decimal, year, timestamp,
texto, enumeración.

--comentario
tipo: cadena; grupo: Pruebas

El comentario de la tabla coincide con el patrón. Esto prueba la columna Comentario.

- ID de conexión
tipo: cadena; grupo: Pruebas

El nombre de la tabla tiene un ID de conexión MySQL inexistente. Esto prueba el nombre de la tabla para un
patrón. El argumento de esta prueba debe ser una expresión regular de Perl que capture
dígitos como este: (\ d +). Si el nombre de la tabla coincide con el patrón, estos dígitos capturados
se toman como el ID de conexión MySQL de algún proceso. Si la conexión no
existen de acuerdo con MOSTRAR LISTA DE PROCESOS COMPLETA, la prueba devuelve verdadero. Si el ID de conexión
es mayor que el ID de conexión propio de pt-find, la prueba devuelve falso por seguridad.

Por qué querrías hacer esto? Si utiliza la replicación basada en sentencias de MySQL,
probablemente sepa los problemas que pueden causar las tablas temporales. Podrías elegir trabajar alrededor
esto mediante la creación de tablas reales con nombres únicos, en lugar de tablas temporales. De una sola mano
para hacer esto es agregar su ID de conexión al final de la tabla, así:
scratch_table_12345. Esto asegura que el nombre de la tabla sea único y le permite tener una forma de
encontrar la conexión con la que estaba asociado. Y quizás lo más importante, si el
la conexión ya no existe, puede asumir que la conexión murió sin limpiar
sus tablas, y esta tabla es candidata a ser eliminada.

Así es como administro las tablas de borrador y por eso incluí esta prueba en pt-find.

El argumento que utilizo para "--connection-id" es "\ D _ (\ d +) $". Que encuentra mesas con un
serie de números al final, precedidos por un guión bajo y algún carácter no numérico
(este último criterio me impide examinar tablas con una fecha al final, lo que
la gente tiende a hacer: baron_scratch_2007_05_07 por ejemplo). Es mejor mantener el
tablas de scratch separadas por supuesto.

Si hace esto, asegúrese de que el usuario pt-find se ejecute con el privilegio PROCESS.
De lo contrario, solo verá conexiones del mismo usuario y podría pensar que algunas tablas
están listos para quitar cuando todavía están en uso. Por seguridad, pt-find comprueba esto
usted

Consulte también "--server-id".

--createops
tipo: cadena; grupo: Pruebas

La opción de creación de tabla coincide con el patrón. Esto prueba la columna Create_options.

- hora
tipo: tamaño; grupo: Pruebas

La tabla se creó hace n días. Esto prueba la columna Create_time.

--datos gratis
tipo: tamaño; grupo: Pruebas

La tabla tiene n bytes de espacio libre. Esto prueba la columna Data_free. El tamaño especificado
puede ser "NULL" para probar donde Data_free ES NULL.

--tamaño de datos
tipo: tamaño; grupo: Pruebas

Los datos de la tabla utilizan n bytes de espacio. Esto prueba la columna Data_length. El especificado
el tamaño puede ser "NULL" para probar donde Data_length ES NULL.

--dblike
tipo: cadena; grupo: Pruebas

El nombre de la base de datos coincide con el patrón SQL LIKE.

--dbregex
tipo: cadena; grupo: Pruebas

El nombre de la base de datos coincide con este patrón.

--vacío
grupo: Pruebas

La tabla no tiene filas. Esto prueba la columna Filas.

--motor
tipo: cadena; grupo: Pruebas

El motor de almacenamiento de tablas coincide con este patrón. Esto prueba la columna Motor, o en
versiones anteriores de MySQL, la columna Tipo.

--función
tipo: cadena; grupo: Pruebas

La definición de función coincide con el patrón.

- tamaño del índice
tipo: tamaño; grupo: Pruebas

Los índices de tabla utilizan n bytes de espacio. Esto prueba la columna Index_length. los
el tamaño especificado puede ser "NULL" para probar donde Index_length ES NULL.

--kmín
tipo: tamaño; grupo: Pruebas

La tabla fue revisada hace n minutos. Esto prueba la columna Check_time.

--ktiempo
tipo: tamaño; grupo: Pruebas

La tabla se comprobó hace n días. Esto prueba la columna Check_time.

--mmín
tipo: tamaño; grupo: Pruebas

La tabla se modificó por última vez hace n minutos. Esto prueba la columna Update_time.

--mtime
tipo: tamaño; grupo: Pruebas

La tabla se modificó por última vez hace n días. Esto prueba la columna Update_time.

--procedimiento
tipo: cadena; grupo: Pruebas

La definición del procedimiento coincide con el patrón.

--formato de fila
tipo: cadena; grupo: Pruebas

El formato de fila de la tabla coincide con el patrón. Esto prueba la columna Row_format.

- filas
tipo: tamaño; grupo: Pruebas

La tabla tiene n filas. Esto prueba la columna Filas. El tamaño especificado puede ser "NULL" para
prueba donde Rows IS NULL.

--id-servidor
tipo: cadena; grupo: Pruebas

El nombre de la tabla contiene el ID del servidor. Si crea tablas temporales con el nombre
la convención explicada en "--connection-id", pero también agregue la ID del servidor en
que se crean las tablas, entonces puede usar esta coincidencia de patrón para asegurarse de que las tablas estén
soltados solo en el servidor en el que se crearon. Esto evita que una mesa se
cayó accidentalmente sobre un esclavo mientras estaba en uso (siempre que los ID de su servidor sean
todos únicos, que deberían ser para que la replicación funcione).

Por ejemplo, en el maestro (ID de servidor 22) crea una tabla llamada
scratch_table_22_12345. Si ve esta tabla en el esclavo (ID de servidor 23), es posible que
creo que se puede desconectar de forma segura si no hay tal conexión 12345. Pero si también
forzar el nombre para que coincida con la ID del servidor con "--server-id '\ D _ (\ d +) _ \ d + $'", la tabla
no se dejará caer sobre el esclavo.

--tamaño de la mesa
tipo: tamaño; grupo: Pruebas

La tabla utiliza n bytes de espacio. Esto prueba la suma de Data_length y Index_length
columnas

--tbllike
tipo: cadena; grupo: Pruebas

El nombre de la tabla coincide con el patrón SQL LIKE.

--tblregex
tipo: cadena; grupo: Pruebas

El nombre de la tabla coincide con este patrón.

--tblversión
tipo: tamaño; grupo: Pruebas

La versión de la mesa es n. Esto prueba la columna Versión.

--desencadenar
tipo: cadena; grupo: Pruebas

La declaración de acción del disparador coincide con el patrón.

--mesa de activación
tipo: cadena; grupo: Pruebas

"--trigger" se define en el patrón de coincidencia de la tabla.

--vista
tipo: cadena; grupo: Pruebas

CREAR VISTA coincide con este patrón.

ACCIONES
La acción "--exec-plus" ocurre después de todo lo demás, pero de lo contrario, las acciones ocurren en un
orden indeterminado. Si necesita determinismo, presente un informe de error y agregaré esto
.

--ejecutivo
tipo: cadena; grupo: Acciones

Ejecute este SQL con cada elemento que encuentre. El SQL puede contener escapes y formato.
directivas (consulte "--printf").

--exec-dsn
tipo: cadena; grupo: Acciones

Especifique un DSN en formato clave-valor para usar al ejecutar SQL con "--exec" y
"--exec-plus". Los valores no especificados se heredan de los argumentos de la línea de comandos.

--exec-más
tipo: cadena; grupo: Acciones

Ejecute este SQL con todos los elementos a la vez. Esta opción es diferente a "--exec". Existen
sin directivas de formato o de escape; solo hay un marcador de posición especial para el
lista de nombres de bases de datos y tablas,% s. Se unirá la lista de tablas encontradas
junto con comas y sustituido donde coloque% s.

Puede usar esto, por ejemplo, para eliminar todas las tablas que encontró:

TABLA DE GOTAS% s

Esto es como la sintaxis "-exec command {} +" de GNU find. Solo que no es totalmente
críptico. Y no requiere que escriba un analizador de línea de comandos.

--impresión
grupo: Acciones

Imprima el nombre de la base de datos y la tabla, seguido de una nueva línea. Esta es la acción por defecto
si no se especifica ninguna otra acción.

--printf
tipo: cadena; grupo: Acciones

Imprime el formato en la salida estándar, interpretando los escapes '\' y las directivas '%'.
Los escapes son caracteres con barra invertida, como \ n y \ t. Perl los interpreta, para que pueda
utilice cualquier escape que conozca Perl. Las directivas se reemplazan por% s, y a partir de este
escritura, no puede agregar instrucciones de formato especiales, como anchos de campo o
alineación (aunque estoy reflexionando sobre formas de hacer eso).

Aquí hay una lista de las directivas. Tenga en cuenta que la mayoría de ellos simplemente provienen de columnas de
MOSTRAR ESTADO DE LA TABLA. Si la columna es NULL o no existe, obtiene una cadena vacía en
La salida. Un carácter% seguido de cualquier carácter que no esté en la siguiente lista es
descartado (pero el otro carácter está impreso).

NOTAS SOBRE LA FUENTE DE DATOS CHAR
---- ------------------ ---------------------------- --------------
un Auto_increment
Una Avg_row_length
c Suma de comprobación
C Crear_hora
D Base de datos El nombre de la base de datos en la que vive la tabla.
d Longitud_datos
E Engine En versiones anteriores de MySQL, este es Type
F Libre de datos
f Innodb_free Analizado desde el campo Comentario
Índice_longitud
K Hora_de_control
L colación
M Longitud_datos_máx.
N Nombre
O comentario
P Crear_opciones
R formato de fila
Filas S
T Longitud_tabla Longitud_datos + Longitud_índice
U Hora_actualización
Versión V

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-buscar ...> 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-findp 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.