Configuración de replicación maestro-esclavo Mysql (maestro-esclavo mutuo de máquina dual)

Propósito: Permitir que dos servidores mysql proporcionen servicios de sincronización entre sí.

 

Ventajas:

  1. La principal ventaja de la replicación maestro-esclavo mysql es sincronizar "copia de seguridad", la base de datos en el esclavo es equivalente a una biblioteca de copia de seguridad (en tiempo real básico).

  2. Sobre la base de la replicación maestro-esclavo, la separación de lectura y escritura se puede lograr a través de mysqlproxy, y el esclavo comparte cierta presión de consulta.

  3. Realice una replicación maestro-esclavo bidireccional, dos máquinas son maestras y esclavas entre sí, de modo que la escritura en la biblioteca de cualquier máquina se sincronizará con otra máquina en "tiempo real". La ventaja de dos vías es que cuando un maestro falla Tiempo, otro host puede cambiar rápidamente para continuar el servicio.

 

Pasos:

  1. Agregue una cuenta para acceso esclavo en ambas máquinas y otorgue el permiso REPLICATION SLAVE.

OTORGAR REPLICACIÓN ESCLAVO EN . TO 'esclavo' @ '%' IDENTIFICADO POR 'esclavo';

Otorgue al usuario esclavo el permiso ESCLAVO DE REPLICACIÓN en cualquier tabla de cualquier base de datos. Se puede acceder a este usuario en cualquier lugar de la red y se marca con la contraseña esclavo al acceder.

 

Al usar ubuntu, debe tenerse en cuenta que la línea bind-address = 127.0.0.1 en el archivo de configuración /etc/mysql/my.cnf necesita comentarios, de lo contrario el esclavo no podrá conectarse cuando se le solicite. Es ubuntu, otras versiones de Linux no saben si será lo mismo)

 

Para garantizar los detalles de los pasos de trabajo, puede usar la contraseña de usuario asignada para conectarse una vez en otra máquina después de configurar la información relacionada con el usuario. Si tiene éxito, puede asegurarse de que el paso actual sea correcto.

 

  1. Configure el número del servidor, abra bin-log

Edite el archivo de configuración de mysql, linux: /etc/mysql/my.cnf, windows: c: / program files / mysql / mysql 5.0 / my.ini

Encuentra la etiqueta [mysqld],

Hay dos líneas debajo de él.

# server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log

Abra el comentario en estas dos líneas. Tenga en cuenta que la identificación del servidor aquí es el número del servidor, por lo que los valores en los dos servidores deben establecerse de manera diferente. Por ejemplo, 1 y 2

 

  1. Haga que los cambios de configuración de id de servidor y bin de registro surtan efecto:

sudo /etc/init.d/mysql restart

O reinicie el servicio mysql en el servicio bajo windows

 

  1. Bloquee el mysql de ambos servidores de bases de datos

En el modo de comando mysql:

ENJUAGUE LAS TABLAS CON BLOQUEO DE LECTURA;

MOSTRAR ESTADO MAESTRO;

 

En este momento, asegúrese de que la consola mysql que ejecuta estos dos comandos no salga.

 

  1. Vuelva a abrir una consola mysql y configure el host

CAMBIAR MAESTRO A

MASTER_HOST = 'host', # dirección de otra máquina

MASTER_PORT = 3306, #Puerto de otra máquina

MASTER_USER = 'esclavo', # Nombre de usuario asignado en el primer paso en otra máquina

MASTER_PASSWORD = 'esclavo', # contraseña asignada en el primer paso en otra máquina

MASTER_LOG_FILE = 'mysql-bin.000001', # Nombre de archivo obtenido al ejecutar SHOW MASTER STATUS en otra máquina

MASTER_LOG_POS = 192; #Offset obtenido ejecutando SHOW MASTER STATUS en otra máquina

 

  1. Activar sincronización

INICIAR ESCLAVO;

 

  1. Verificar la corrección

MOSTRAR ESTADO DE ESCLAVO;

Si la primera columna del resultado devuelto es Esperando que el maestro envíe un evento o En cola, la configuración es correcta. Por supuesto, puede haber otra información que también sea correcta, pero no la recopilé aquí ... ja, ja

 

Si hay algo inapropiado, dispara ladrillos.

Supongo que te gusta

Origin blog.51cto.com/youling87/2486562
Recomendado
Clasificación