Herramientas de usuario

Herramientas del sitio


servidores:general:mysql_replicacion_master_master

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
servidores:general:mysql_replicacion_master_master [2013/05/31 19:12]
fmolinuevo
servidores:general:mysql_replicacion_master_master [2013/06/06 20:10] (actual)
fmolinuevo [Verificar que todo funcione]
Línea 1: Línea 1:
 ====== MySQL: configurando replicación master-master ====== ====== MySQL: configurando replicación master-master ======
  
-//Por el equipo de FMSI, [[fmsi>​|FMSI Sistemas de Informática]]//​ **:::** //Fecha creación: **20130530**//​ +//Por el equipo de [[fmsi>​|FMSI Sistemas de Informática]]//​ **:::** //Fecha creación: **20130530**//​
  
  
 ===== Escenario ===== ===== Escenario =====
  
-   ​master1 vlsrv05 172.16.19.14 +   ​master1 vlsrv05 192.168.19.14 
-   ​master2 vlsrv06 172.16.19.15+   ​master2 vlsrv06 192.168.19.15
  
 ===== Configuración ===== ===== Configuración =====
  
  
-Configuramos el archivo /etc/my.cf en ambos servidores:+Configuramos ​MySQL con el archivo /etc/mysql/my.cnf en ambos servidores:
  
-<​code>​  +==== Master 1 ====
- +
-Master 1+
  
 +<​code>​
 log-bin ​         = /​var/​log/​mysql/​mysql-bin log-bin ​         = /​var/​log/​mysql/​mysql-bin
 server-id ​       = 1 server-id ​       = 1
 auto_increment_increment= 2 auto_increment_increment= 2
 auto_increment_offset ​  = 1 auto_increment_offset ​  = 1
 +</​code>​
  
-Master 2:+==== Master 2 ====
  
 +<​code>​
 log-bin ​         = /​var/​log/​mysql/​mysql-bin log-bin ​         = /​var/​log/​mysql/​mysql-bin
 server-id ​       = 2 server-id ​       = 2
 auto_increment_increment= 2 auto_increment_increment= 2
 auto_increment_offset ​  = 2 auto_increment_offset ​  = 2
- 
 </​code>​ </​code>​
  
-Y reiniciamos ​el servicio mysql en ambos servidores.+Luego se debe reiniciar ​el servicio mysql en **ambos servidores**: 
 + 
 +  service mysql restart
  
-===== Creamos ​un usuario para replicar =====+===== Creación de un usuario para replicar =====
  
 Generamos el usuario "​replicacion"​ para acceso desde cualquier host o 2 usuarios, uno para  Generamos el usuario "​replicacion"​ para acceso desde cualquier host o 2 usuarios, uno para 
 acceso desde cada servidor. acceso desde cada servidor.
  
-   ​mysql-master>​ GRANT REPLICATION SLAVE ON *.* TO '​replicacion'​@'​%'​ IDENTIFIED BY 're512plik';+   ​mysql-master>​ GRANT REPLICATION SLAVE ON *.* TO '​replicacion'​@'​%'​ IDENTIFIED BY '<​password>​';
    ​mysql-master>​ FLUSH PRIVILEGES;    ​mysql-master>​ FLUSH PRIVILEGES;
  
-Esto originalmente deberiamos hacerlo ​en los 2 servidores pero no hace falta en este caso +Esto se debería hacer en los 2 servidorespero no hace falta en este caso 
-porque luego copiaremos ​todas las bases de datos al otro servidor (inclusive '​mysql'​).+porque luego se copiarán **todas** las bases de datos al otro servidor (inclusive '​mysql'​).
  
  
-===== Debemos igualar ​las bases de datos =====+===== Igualar ​las bases de datos =====
  
  
-a) Detenemos los servicios de MySQL en ambos servidores. +  - Detenemos los servicios de MySQL en ambos servidores. 
- +  ​- ​Copiamos y enviamos la base de datos MySQL al otro servidor:<​code>​
-b) Copiamos y enviamos la base de datos MySQL al otro servidor: +
    ​mysql-master#​ cd /var/lib && tar czvf /​tmp/​data-mysql.tar.gz mysql    ​mysql-master#​ cd /var/lib && tar czvf /​tmp/​data-mysql.tar.gz mysql
-   ​mysql-master#​ scp /​tmp/​data-mysql.tar.gz root@vlsrv06:/​tmp +   ​mysql-master#​ scp /​tmp/​data-mysql.tar.gz root@vlsrv06:/​tmp</​code>​ 
- +  ​- ​En el otro servidor la descomprimimos y copiamos en /​var/​lib/​mysql/​
-c) En el otro servidor la descomprimimos y copiamos en /​var/​lib/​mysql/​+
  
 ===== Activar replicación ===== ===== Activar replicación =====
  
-Debemos ejecutar el siguiente comando en ambos servidores y anotamos ​los datos:+Debemos ejecutar el siguiente comando en ambos servidores y anotar ​los datos:
  
 <​code>​ <​code>​
Línea 70: Línea 68:
 | mysql-bin.000006 |      336 |              |                  | | mysql-bin.000006 |      336 |              |                  |
 +------------------+----------+--------------+------------------+ +------------------+----------+--------------+------------------+
 +</​code>​
  
 +<​code>​
 mysql-master2>​ show master status; mysql-master2>​ show master status;
 +------------------+----------+--------------+------------------+ +------------------+----------+--------------+------------------+
Línea 81: Línea 81:
 Activamos la replicacion en ambos servidores utilizando los datos del paso anterior: Activamos la replicacion en ambos servidores utilizando los datos del paso anterior:
  
-   ​mysql-master1>​ CHANGE MASTER TO MASTER_HOST='​172.16.19.15',​ MASTER_USER = '​replicacion',​ MASTER_PASSWORD = 'MIPASSWORD', MASTER_LOG_FILE = '​mysql-bin.000002',​ MASTER_LOG_POS = 106;+   ​mysql-master1>​ CHANGE MASTER TO MASTER_HOST='​192.168.19.15',​ MASTER_USER = '​replicacion',​ MASTER_PASSWORD = '<​password>​', MASTER_LOG_FILE = '​mysql-bin.000002',​ MASTER_LOG_POS = 106;
  
-   ​mysql-master2>​ CHANGE MASTER TO MASTER_HOST='​172.16.19.14',​ MASTER_USER = '​replicacion',​ MASTER_PASSWORD = 'MIPASSWORD', MASTER_LOG_FILE = '​mysql-bin.000006 ', MASTER_LOG_POS = 336;+   ​mysql-master2>​ CHANGE MASTER TO MASTER_HOST='​192.168.19.14',​ MASTER_USER = '​replicacion',​ MASTER_PASSWORD = '<​password>​', MASTER_LOG_FILE = '​mysql-bin.000006 ', MASTER_LOG_POS = 336;
  
-Nota: +===== Iniciar ​los procesos slave en ambos nodos =====
- +
-===== Arrancamos ​los procesos slave en ambos nodos =====+
  
    ​mysql@M1>​ START SLAVE;    ​mysql@M1>​ START SLAVE;
Línea 93: Línea 91:
  
 ===== Verificar que todo funcione ===== ===== Verificar que todo funcione =====
 +
 +En cada uno de los servidores, el siguiente comando mostrará el servidor que está actuando como master, y la información de replicación:​
  
    show slave status\G;    show slave status\G;
 +
 +===== Bibliografía =====
 +
 +  * http://​www.howtoforge.com/​mysql_master_master_replication
 +  * http://​brendanschwartz.com/​post/​12702901390/​mysql-master-master-replication
 +
 +
 +
  
servidores/general/mysql_replicacion_master_master.1370038363.txt.gz · Última modificación: 2013/05/31 19:12 por fmolinuevo