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

Próxima revisión
Revisión previa
servidores:general:mysql_replicacion_master_master [2013/05/29 13:10]
fmolinuevo creado
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 ======
  
-**1- Escenario:**+//Por el equipo de [[fmsi>​|FMSI Sistemas de Informática]]// ​**:::** //Fecha creación: **20130530**//
  
-   ​master1 vlsrv05 172.16.19.14 
-   ​master2 vlsrv06 172.16.19.15 
  
-**2- Configuración:​**+===== Escenario =====
  
-Configuramos el archvio /etc/my.cf en ambos servidores:+   ​master1 vlsrv05 192.168.19.14 
 +   ​master2 vlsrv06 192.168.19.15
  
-<​code> ​+===== Configuración =====
  
-Master 1:  
  
 +Configuramos MySQL con el archivo /​etc/​mysql/​my.cnf en ambos servidores:
 +
 +==== 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**:
  
-**3- Creamos ​un usuario para replicar:**+  service mysql restart 
 + 
 +===== 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'​).
  
  
-**4- Debemos igualar ​las bases de datos:**+===== Igualar ​las bases de datos =====
  
-a) Detenemos los servicios de MySQL en ambos servidores. 
- 
-b) Copiamos y enviamos la base de datos MySQL al otro servidor: 
  
 +  - Detenemos los servicios de MySQL en ambos servidores.
 +  - Copiamos y enviamos la base de datos MySQL al otro servidor:<​code>​
    ​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 =====
  
-**5- Activar replicación:​** +Debemos ejecutar el siguiente comando en ambos servidores y anotar ​los datos:
- +
-Debemos ejecutar el siguiente comando en ambos servidores y anotamos ​los datos:+
  
 <​code>​ <​code>​
Línea 64: 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 75: 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 =====
- +
-**6- Arrancamos ​los procesos slave en ambos nodos:**+
  
    ​mysql@M1>​ START SLAVE;    ​mysql@M1>​ START SLAVE;
    ​mysql@M2>​ START SLAVE;    ​mysql@M2>​ START SLAVE;
  
-**7- 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.1369843818.txt.gz · Última modificación: 2013/05/29 13:10 por fmolinuevo