Publicado el 28 de Septiembre del 2018
792 visualizaciones desde el 28 de Septiembre del 2018
108,5 KB
34 paginas
Creado hace 9a (14/05/2015)
Percona Toolkit y lo novedoso en MySQL 5.7
Simon J Mudd
Madrid MySQL Users Group
13 de mayo de 2015
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
1 / 34
¿Quién soy?
Simon J Mudd
Senior Database Administrator
Trabaja en booking.com desde 2007
Anteriormente trabajó en los mercados financieros
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
2 / 34
Que temas vamos a tratar?
Percona Toolkit – herramientas muy útiles para el DBA
MySQL 5.7 – las novedades que va a traer
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
3 / 34
Aclaración
Las ideas y observaciones en esta presentación son mías y no las de mi
empleador.
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
4 / 34
Percona Toolkit
¿Qué es?
Evolución
¿Por qué es útil?
¿Qué utilidades trae?
Ejemplos
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
5 / 34
¿Qué es?
Son unas utilidades que permiten simplificar muchas tareas de
administración de servidores MySQL.
Las herramientas están desarrolladas y soportadas por Percona
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
6 / 34
Evolución
Originó como Maatkit, Advanced command-line tools for
open-source databases. (2007-2012)
Cambió de nombre a Percona Toolkit 1.0 en diciembre 2011
La versión 2.0 salió en enero 2012
La versión 2.1 salió en abril 2012
La versión 2.2 salió en marzo 2013
La última versión es 2.2.14 y es de abril de 2015
Esta versión contiene 32 utilidades
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
7 / 34
¿Por qué es útil?
tradicionalmente el servidor de MySQL era bastante básico y traía
pocas herramientas de gestión
muchas tareas de gestión de un servidor MySQL son iguales: todos
nos enfrentamos a resolver los mismos problemas
las herramientas de Percona Toolkit intentan simplificar estas tareas
son herramientas gratuitas
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
8 / 34
¿Qué utilidades trae?
No puedo describir todas las herramientas en detalle
Comentaré algunos que pueden ser de utlidad.
Mirad la documentación de Percona para ver más detalles o para
ver todas las herramientas.
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
9 / 34
Utilidades 1/4
pt-archiver – archivar (copiar y eliminar) filas de una tabla a otra
tabla o archivo
pt-config-diff – comparar las configuración entre dos servidores
o entre un archivo /etc/my.cnf y un servidor
pt-diskstats – muestra la E/S de un servidor de una manera útil
para el DBA, no solo operaciones, pero también porcentaje de uso
de los discos.
pt-duplicate-key-checker – ayudarte a encontrar índices que
son redundantes
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
10 / 34
Utilidades 2/4
pt-heartbeat – poder determinar los retrasos de replicación
parece sencillo, pero no siempre funciona como esperas
(seconds behind master no siempre funciona.) Esta herramienta
permite injectar un pulso y luego medir el retraso en su llegada a un
esclavo.
pt-kill – herramienta para matar determinadas conexiones a un
servidor MySQL dada algunas condiciones depterminadas
pt-online-schema-change – si necesitas cambiar una tabla
grande y el bloqueo que un ALTER TABLE puede provocar es
demasiado intruso entonces necesitas esta herramienta.
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
11 / 34
Utilidades 3/4
pt-query-digest – mediante la capture via SHOW PROCESSLIST o
tcpdump de tráfico en un servidor MySQL se puede analizar las
consultas y sacar unos informes sobre las consultas más lentas e
histogramas de tiempo de ejecución de las mismas.
pt-show-grants – mostrar todos los grants (permisos) de un
servidor MySQL
pt-slave-delay – provocar un restraso deliberado de replicacion
en un esclavo. Útil para hacer pruebas y quizá porque quieres tener
un esclavo con un restraso deliberado para ayudar en la
recuperación de datos perdidos debido a errores de código.
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
12 / 34
Utilidades 4/4
pt-slave-restart – reaundar replicación si ves ciertos errores,
quizá después de una caída de servidor
pt-stalk – esperar a ciertas condiciones inusuales en el servidor
para poder capturar el estado y analizar después la causa
pt-table-checksum – buscar diferencias en una tabla entre el
maestro y los esclavos
pt-table-sync – sincronizar el contenido de 2 tablas
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
13 / 34
Ejemplo – pt-show-grants
$ pt - show - grants | head
-- Grants dumped by pt - show - grants
-- Dumped from server L o c a l h o s t via UNIX socket , MySQL 5.6. XX - log at 2015 - XX - XX XX : XX : XX
-- Grants for ’ user1 ’@ ’10.% ’
GRANT USAGE ON *.* TO ’ user1 ’@ ’ 10.% ’ I D E N T I F I E D
BY P A S S W O R D ’* X X X X X X X X X X X X X X X X X X X X X 3 4 B 2 4 1 9 9 7 6 7 1 6 8 D D 2 0 F ’;
-- Grants for ’ user2 ’@ ’10.% ’
GRANT R E P L I C A T I O N CLIENT ON *.* TO ’ user2 ’@ ’ 10.% ’ I D E N T I F I E D
BY P A S S W O R D ’* X X X X X X X X X X X X X X X X X X X X X X X X X X 1 9 9 7 6 7 1 6 8 D D 2 0 F ’;
GRANT CREATE T E M P O R A R Y TABLES , DELETE , EXECUTE , INSERT , LOCK TABLES ,
SELECT , UPDATE ON ‘db ‘.* TO ’ user2 ’@ ’ 10.% ’;
-- Grants for ’ user2 ’@ ’127.0.0.1 ’
GRANT R E P L I C A T I O N CLIENT ON *.* TO ’ user2 ’@ ’ 1 2 7 . 0 . 0 . 1 ’ I D E N T I F I E D
BY P A S S W O R D ’* X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 7 6 7 1 6 8 D D 2 0 F ’;
GRANT CREATE T E M P O R A R Y TABLES , DELETE , EXECUTE , INSERT , LOCK TABLES ,
SELECT , UPDATE ON ‘db ‘.* TO ’ user2 ’@ ’ 1 2 7 . 0 . 0 . 1 ’;
$
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
14 / 34
Ejemplo – pt-diskstats
$ pt - d i s k s t a t s -- devices - regex = dm -2
# ts device
rd_s rd_avkb rd_mb_s rd_mrg rd_cnc
rd_rt
wr_s wr_avkb wr_mb_s wr_mrg wr_cnc
wr_rt busy in_prg
io_s
qtime stime
0.9 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
1.0 dm -2
0.6
0.9
0.6
0.5
0.6
0.6
0.6
0.5
0.5
0.4
1.2
27.7
47%
34.0
39%
32.0
46%
37.0
40%
61.0
49%
65.0
48%
34.0
43%
28.0
32%
48.0
47%
53.0
41%
34.0
68%
...
16.0
0.4
0
910.7
15.3
0.5
0
330.0
16.0
0.5
1
913.0
16.0
0.6
0
491.0
15.8
0.9
1
902.0
15.3
1.0
0
498.0
15.3
0.5
1
805.0
16.0
0.4
0
384.0
15.5
0.7
0
814.0
15.8
0.8
0
485.0
14.9
0.5
0.3
0.5
0.3
0.2
0.3
0.3
0.3
0.1
0.3
0.2
0%
0%
0%
0%
0%
0%
0%
0%
0%
0%
0%
0.5
1.2
0.5
0.8
0.5
1.0
0.5
0.8
0.6
0.8
0.2
0.3
0.2
0.2
0.3
0.4
0.2
0.2
0.3
0.3
0.4
0
642.0
0.7
1.1
7.5
883.0
13.2
11.4
8.5
296.0
4.6
1.3
7.0
881.0
12.4
10.7
6.7
454.0
4.7
2.1
4.9
841.0
12.8
10.5
5.8
433.0
4.7
2.0
5.9
771.0
13.5
10.2
7.0
356.0
4.7
1.6
6.1
766.0
13.5
10.1
6.2
432.0
5.1
10.6
608.0
10.2
2.2
6.1
0%
0%
0%
0%
0%
0%
0%
0%
0%
0%
0%
0.5
0.3
0.5
0.2
0.5
0.2
0.5
0.2
0.4
0.2
0.7
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
15 / 34
Otras consideraciones
Originalmente no había otras herramientas de este tipo.
Desde los comienzos de Maatkit y Percona Toolkit MySQL ha
mejorado considerablemente. Por lo tanto algunas funcionalidades
ya no son tan necesarias.
Merece la pena mira MySQL Utilities – la solucion de Oracle . . .
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
16 / 34
Enlaces
Percona http://www.percona.com
percona Toolkit
https://www.percona.com/software/percona-toolkit
Maatkit https://code.google.com/p/maatkit/
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
17 / 34
MySQL 5.7
Novedades
¿Qué es?
¿Desde cuándo? (la evolución de las versiones de desarrollo)
Características nuevas
Cambios en la configuración
Estado actual
¿Por qué probarlo ahora?
enlaces
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
18 / 34
Primero – ¿qué versiones usáis actualmente?
Yo trabajo con MySQL 5.5, 5.6 y unos sistemas de 5.7
¿y vosotros?
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
19 / 34
¿Desde cuándo?
El 07-11-2012 salió MySQL 5.6.8, la primera versión de producción
de MySQL 5.6.
Desde entonces Oracle empezó el desarrollo de la versión 5.7.
Oracle utiliza la siguiente denominación:
las versiones de producción: GA – General Availability
las versiones de desarollo: DMR – Development Milestone Release
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
20 / 34
Evolución de las versiones de desarrollo
MySQL 5.7.1 (2013-04-23, Milestone 11)
MySQL 5.7.2 (2013-09-21, Milestone 12)
MySQL 5.7.3 (2013-12-03, Milestone 13)
MySQL 5.7.4 (2014-03-31, Milestone 14)
MySQL 5.7.5 (2014-09-25, Milestone 15)
MySQL 5.7.6 (2015-03-09, Milestone 16)
MySQL 5.7.7 (2015-04-08, Release Candidate)
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
21 / 34
Características Nuevas
MySQL 5.7 trae muchas mejoras con respeto a 5.6. Aquí podemos
mencionar:
mejoras de seguridad
mejoras de replicación
mejoras en el logging
mejoras en performance schema
mejoras en InnoDB
Intentaré dar un poco más información sobre estos cambios en las
siguientes páginas.
Simon J Mudd (Madrid MySQL Users Group)
Madrid MySQL Users Group
13 de mayo de 2015
22 / 34
Mejoras de Seguridad
Se inializa el servidor con mysqld --initialize
ya no se crea el famoso base de datos test
solament
Comentarios de: Percona Toolkit y lo novedoso en MySQL 5.7 (0)
No hay comentarios