Estoy ejecutando la replicación MySQL dual master y ahora quiero pasar a una sola base de datos sin replicación. ¿Cómo deshabilito completamente la replicación en ambas bases de datos?
Estoy ejecutando la replicación MySQL dual master y ahora quiero pasar a una sola base de datos sin replicación. ¿Cómo deshabilito completamente la replicación en ambas bases de datos?
Respuestas:
Para deshabilitar completamente la replicación con una configuración maestro-maestro, debe hacer lo siguiente en cada esclavo:
STOP SLAVE;
RESET SLAVE;
(Usar RESET SLAVE ALL;
para MySQL 5.5.16 y posterior)SLAVE STATUS
consultas incluso después de que RESET SLAVE
se haya dado el comando. Importante saber para monitoreo o herramientas de administración de configuración remota. Comportamiento confirmado con MySQL 5.5.38 en CentOS 6.5.
Sé que esta es una pregunta antigua, pero descubrí que también tengo que restablecer las variables esclavas. Si usa "bla" como se sugiere, el servidor intentará iniciar para encontrar el servidor "bla".
Cambiar
MASTER
aMASTER_HOST='',MASTER_USER='',MASTER_PASSWORD='';
Puede verificar que la máquina ya no sea esclava
SHOW SLAVE STATUS \G;
CHANGE MASTER TO MASTER_HOST=''
ahora arroja un error.
En los servidores esclavos:
No es necesario reiniciar MySQL ni en el maestro ni en el esclavo. La documentación completa se puede encontrar en la sección 19 del Manual de referencia de MySQL .
Recomiendo dejar el resto de la configuración de replicación en su lugar en caso de que decida volver a su configuración anterior. De esa manera, solo tendría que pasar los datos y restablecer la posición del esclavo (no olvide eliminar skip-slave-start) en lugar de recrear la configuración completa.
Independientemente de la versión de MySQL, la forma más completa de hacerlo es la siguiente
cd /var/lib/mysql
service mysql stop
rm -f master.info relay-*`
service mysql start
Esto tiene que funcionar para la última versión porque la configuración de replicación aún permanece en la RAM para MySQL 5.5.
Acabo de responder una pregunta similar sobre este tema: ¿Cómo cambiar un esclavo anterior de MySQL para que sea un maestro y eliminar la información del estado del esclavo?
Editar el archivo my.cnf solo no es suficiente para deshabilitar la replicación. De hecho, ya no es la forma recomendada de habilitarlo. Poner entradas en el archivo my.cnf solo es efectivo para el próximo inicio y se comporta como si hubiera ingresado el comando en el cliente mysql:
mysql> cambie master a master_host = 'blah', master_user = 'blah', master_password = 'blah' ...;
Ambos métodos crearán un archivo en el directorio de datos llamado master.info . Mientras exista este archivo, el servidor intentará replicarse utilizando los detalles allí. El "RESTABLECER ESCLAVO"; El comando que aparece en la primera respuesta eliminará el archivo master.info (así como el archivo relay-log.info ). Como se mencionó en la primera respuesta, también debe asegurarse de no tener esa información de configuración en el archivo my.cnf, de lo contrario, en el próximo reinicio del servidor, el registro se volverá a habilitar.
Una respuesta está aquí:
http://www.oops.net.br/~bac/bam/canopy_repl_setup.htm
* Edite el archivo de configuración de MySQL: /etc/my.cnf y elimine las siguientes 7 líneas en la sección titulada [mysqld]:
port=3306
log-bin
server-id=1
master-host=10.0.0.2
master-user=server_1_repl
master-password=server_1_passwd
master-port=3306*
Reinicie MySQL.
Estoy agregando esto a la respuesta de Harrison Fisk:
Si lo usó, RESET SLAVE ALL;
entonces reiniciar no es necesario.
Además, es posible que desee habilitar eventos que se han deshabilitado en esclavo:
select * from information_schema.events where status = 'SLAVESIDE_DISABLED';
Para cada uno de ellos:
alter event <event_name> enable;