Muestra las diferencias entre dos versiones de la página.
| 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:20] fmolinuevo |
servidores:general:mysql_replicacion_master_master [2013/06/06 20:10] (actual) fmolinuevo [Verificar que todo funcione] |
||
|---|---|---|---|
| Línea 12: | Línea 12: | ||
| - | Configuramos MySQL con el archivo /etc/my.cf en ambos servidores: | + | Configuramos MySQL con el archivo /etc/mysql/my.cnf en ambos servidores: |
| ==== Master 1 ==== | ==== Master 1 ==== | ||
| Línea 32: | Línea 32: | ||
| </code> | </code> | ||
| - | Luego se debe reiniciar el servicio mysql en ambos servidores: | + | Luego se debe reiniciar el servicio mysql en **ambos servidores**: |
| service mysql restart | service mysql restart | ||
| Línea 44: | Línea 44: | ||
| 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 servidores, pero 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 ===== | ||
| Línea 71: | 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 82: | 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='192.168.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='192.168.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 94: | 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 | ||
| + | |||
| + | |||
| + | |||