mysql
September 25, 2011
domingo 25 de septiembre de 11
Resumen
•
Replicación en MySQL
– Introducción
– Tipos de nodos
– Tipos de arquitecturas
– Limitaciones
– Software de terceros
– Resumen
•
MySQL Cluster
– Introducción
– Tipos de nodos
– Configuración
– Backup
– Restore
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-2-
September 25,2011
Replicación MySQL
Replicación MySQL
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-3-
September 25, 2011
Replicación – Introducción
•
Nodo Master
– Sirve para escrituras y lecturas
– Guarda los cambios en un log binario
– Almacena la posición y el fichero en el que se encuentra el log
•
Nodo Slave
– Sirve para lecturas
– Puedes escribir, perorompes la replicación
– Se suele usar para lanzar backups
– Puede tener engines diferentes al master
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-4-
September 25, 2011
Replicación – Master Slave
Maestro-Esclavo
●
Un maestro, múltiples esclavos.
●
En el maestro se escribe, en el esclavo se lee.
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-5-September 25, 2011
Replicación – Introducción
•
La replicación se basa en los logs binarios
– Un log binario guarda todas las modificaciones que se hacen a la base de datos
– El nodo maestro guarda las DDL (alter, create table, create index) y DML (insert, update,
delete, etc.)
– El nodo esclavo se conecta al de escritura para leer dicho log binario y reaplicar los
cambios
•
En elmaster se suele logear todo:
– log_bin=mysql-bin
•
Y el filtrado se realiza en el slave:
– replicate-do-db (no!)
– replicate-ignore-db (no!)
– replicate-wild-do-table (si)
•
Límites:
– Un Slave solo puede tener un Master.
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-6-
September 25, 2011
Replicación - Introducción
•
Valores recomendados para lareplicación:
– sync_binlog (escritura forzada a disco)
– slave-net-timeout (tiempo que debe transcurrir para que el slave de por caida la conexión)
– master-connect-retry (tiempo entre intentos de conexión)
•
Para comprobar el estado del master:
– show master status;
•
Para comprobar el estado del slave:
– show slave status;
•
Arrancar procesos slave:
– start slave;
•
Pararprocesos slave:
– stop slave;
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-7-
September 25, 2011
Replicación - Introducción
•
•
•
Para montar la replicación es necesario conocer la posición y fichero en el cual se encuentra el
log binario
Si no hay actividad es sencillo, siempre estará en la misma posición
Si hay actividad no es tan facil, es necesario sacar una copiaconsistente en un punto concreto
mysqldump --master-data=1
•
•
Con esta opción incluimos en el dump el fichero y posición en el cual se comenzó el backup.
Se recomienda un bloqueo de tablas.
mysql> show master status;
+-------------------+-----------+--------------+------------------+
| File
| Position | Binlog_Do_DB | Binlog_Ignore_DB |+-------------------+-----------+--------------+------------------+
| mysqld-bin.004446 | 787553149 |
|
|
+-------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-8-
September 25, 2011
Replicación - Introducción
•
Creamos un usuario para que el slave se pueda conectar al master:
mysql> CREATE USER 'repl'@‘10.10.0.2'IDENTIFIED BY 'slavepass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@‘10.10.0.2';
•
Una vez hecho, lo conectamos al master:
mysql> CHANGE MASTER TO
-> MASTER_HOST=’10.10.0.1',
-> MASTER_USER='repl',
-> MASTER_PASSWORD=‘slavepass',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='master2-bin.001',
-> MASTER_LOG_POS=4;
Dpto. Soporte SSAA
domingo 25 de septiembre de 11
-9-...
Regístrate para leer el documento completo.