CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

En primer lugar, el entorno experimental
tanto CentOS-7.5 máquina virtual
configuración de la máquina virtual: memoria 1G, CPU 1-core, 40G disco
versiones de MySQL: Community Edition 5.7-MySQL
Master_A: 192.168.218.128
master_b: 192.168.218.136
firewall + selinux: están cerrados

Dual maestro: dos servidores principalmente entre los
de dos pasos dual master:
1 está configurado para principalmente Master_A, master_b desde la ambiente hasta el maestro;
2. master_b principalmente configurado, master_a es un frente desde el entorno de

consideraciones de configuración:
Primera realización Master-> Slave sincronización maestro primario. Maestro de dos vías de datos maestro de sincronización, datos maestros de la sincronización unidireccional.

En segundo lugar, instalar el servicio MySQL

Descripción: dos servidores ejecutan simultáneamente el siguiente comando, ya que los dos servidores MySQL para ser instalado exactamente el mismo entorno

1) desinstalar el sistema viene con un servicio MariaDB
[root @ CentOS ~] #
[root @ CentOS ~] # rpm -qa MariaDB # primero para ver si ha instalado el servicio MariaDB
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
[root @ CentOS ~] # rpm -e --nodeps mariadb- libs-5.5.56-2.el7.x86_64 # desinstalar el programa
[root @ CentOS ~] # rpm -qa MariaDB
# ver si el éxito de desinstalación MariaDB
[root @ CentOS ~] #

2) Descarga e instalación de la fuente de MySQL 5.7
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm # instalación de código fuente de MySQL-5.7
[root @ CentOS ~] #
[root @ CentOS ~] # LL /etc/yum.repos.d/ | grep 'MySQL Community'
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
[root @ CentOS ~] #
[root @ CentOS ~] # yum Lista MySQL Community-Server-View # puede instalar la versión de código fuente de MySQL
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

3) Eliminar el sistema original de Linux viene my.cnf archivo
borrado del sistema original de Linux viene my.cnf archivo, archivo my.cnf si existe
[root @ CentOS ~] # rm -rf /etc/my.cnf # eliminar el archivo
[root @ CentOS ~] #

4) MySQL 5.7 formal de instalación
[root @ CentOS ~] #
[root @ CentOS ~] # yum -y install # instalación de MySQL en servidor de MySQL Community-servicio
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
[root @ CentOS ~] # rpm -qa mysql-comunidad-servidor
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

5)启动MySQL-5.7
[root @ CentOS ~] #
[root @ CentOS ~] # mysqld.service inicio systemctl
[root @ CentOS ~] # systemctl permiten mysqld.service
[root @ CentOS ~] #

En tercer lugar, modificar el archivo de configuración de dos servidores MySQL

Nota: Debido a que los dos son del servidor principal de cada uno de la configuración, de modo similar, pero id_servidor no es lo mismo

1) Configuración del lado del master_a
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # # /etc/my.cnf edición de archivos de configuración de Vim cambia Master_A
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

2) Configuración del lado del master_b
[2-los CentOS la raíz @ ~] #
[la raíz @ ~ los CentOS-2] # # /etc/my.cnf Vim edición de archivos de configuración cambia master_b
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

3) Crear un directorio para almacenar archivos binlog
final master_a creadas:
[CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # mkdir / var / lib / MySQL / binary_log
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # chown mysql: mysql / var / lib / mysql / binary_log # autorización
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # LL / var / lib / MySQL | grep 'binary_log'
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

final master_b creado:
[la raíz @ CentOS-2 ~] #
[la raíz @ CentOS-2 ~] # mkdir / var / lib / MySQL / binary_log
[la raíz @ CentOS-2 ~] #
[la raíz @ los CentOS-2 ~] # chown mysql: mysql / var / lib / mysql / binary_log # autorización
[2-los CentOS la raíz @ ~] #
[2-los CentOS la raíz @ ~] # LL / var / lib / MySQL | grep 'binary_log'
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

En cuarto lugar, reinicie el servicio de MySQL

Nota: Después de cambiar el archivo de configuración, reinicie la configuración del servicio de MySQL para tener efecto

1) master_a realizan final
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # systemctl el mysqld restart
[los CentOS la raíz @ ~] #

2) master_b realizan final
[la raíz @ ~ los CentOS-2] #
[2-los CentOS la raíz @ ~] # systemctl el mysqld restart
[2-los CentOS la raíz @ ~] #

En quinto lugar, para ver si el archivo binario generado

1) master_a realizan final
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # LS / var / lib / MySQL / binary_log /
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

2) master_b realizan final
[la raíz @ ~ los CentOS-2] #
[2-los CentOS la raíz @ ~] # LS / var / lib / MySQL / binary_log /
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

En sexto lugar, obtener una contraseña temporal MySQL

1) el fin de obtener master_a:
[CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # grep /var/log/mysqld.log 'Temporal'
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

2) final master_b Get
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

Siete, utilice el Asistente para configuración de seguridad para configurar MySQL

Descripción: Los ajustes básicos antes de usar MySQL

Nota: Dos operativo del servidor MySQL casi exactamente el mismo, pero no la misma contraseña de superusuario puede ajustarse

1) master_a extremo dispuesto
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # # mysql_secure_installation Asistente para configuración de seguridad
que aseguran la implementación del servidor MySQL.

Introduzca la contraseña para el usuario root: # introducir la contraseña temporal obtenido anteriormente; 76 / .favFurg

La contraseña existente para la raíz de cuenta de usuario ha caducado. Por favor, establecer una nueva contraseña.

Nueva contraseña: # coloca una nueva contraseña de root Ctsi.2020

Vuelva a introducir la nueva contraseña: #再次输入新raíz密码Ctsi.2020
El 'validate_password' plug-in está instalado en el servidor.
Los pasos posteriores se ejecutará con la configuración existente
del plugin.
El uso de la contraseña existente para la raíz.

fuerza estimada de la contraseña: 100 fuerza # contraseña era 100
Cambio en la contraseña de root ((la ordenada en Prensa | para el Sí Y, la otra tecla para No) :? NO # ya no es cambiar la contraseña de root, above've sido rehabilitado

... saltar.
Por defecto, una instalación de MySQL tiene un usuario anónimo,
permitiendo que cualquiera pueda iniciar sesión en MySQL sin necesidad de tener
una cuenta de usuario creado para ellos. Esto es sólo para
pruebas, y para hacer la instalación ir un poco más suave.
Debe eliminar antes de pasar a una producción de
medio ambiente.

Los usuarios anónimos los Remove (la ordenada en Prensa | para el Sí-Y, la otra tecla para No) :? El y-
Éxito # elimina usuario anónimo.

Normalmente, la raíz sólo debe permitirse a conectar desde
'localhost'. Esto garantiza que alguien no puede adivinar
la contraseña de administrador de la red.

La raíz de sesión remota No permitir (la ordenada en Prensa | para el Sí-Y, la otra tecla para No) :? El y-
Éxito # telnet prohíbe servidor raíz de usuario de MySQL.

Por defecto, MySQL viene con una base de datos llamada 'prueba' de que
cualquiera puede acceder. Esto también está destinado únicamente para las pruebas,
y se debe quitar antes de pasar a una producción
medio ambiente.

Retire la base de datos de prueba y el acceso a ella? (Pulse y | S de Sí, cualquier otra tecla para No): y # 删除 测试 数据库

  • Dejar caer la base de datos de prueba ...
    Éxito.

  • La eliminación de los privilegios de base de datos de prueba ...
    Éxito.

Nuevamente a la tabla de privilegios se asegurará de que todos los cambios
realizados hasta el momento se llevará a efecto inmediatamente.

Tabla de privilegios de recarga ahora? (Pulse y | S de Sí, cualquier otra tecla para No): y
el éxito. #刷新授权表

¡Todo listo!
[root @ CentOS ~] #

2) establecido final master_b
Asistente para configuración de seguridad extremo a master_b conjunto exactamente la misma configuración y final master_a, incluso la contraseña del usuario root son los mismos, son Ctsi.2020

El procedimiento de ajuste se omitirá ......

Ocho de configuración para master_a basada, master_b para el modo de replicación maestro-esclavo de

1) Conjunto de MySQL cuenta de replicación y la autorización para hacer
master_a operación final:
[CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # MySQL -uroot - p'Ctsi.2020 '
MySQL>
MySQL> Mostrar bases de datos,
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
MySQL>
MySQL> Grant replicación en el esclavo . a [email protected]~~V~~aux~~singular~~3rd identificado a través de 'Mysql.2020'; todas las bibliotecas repluser # cuenta de autorización y puede replicar el servidor maestro por la tala desde un servidor 192.168.218.136 servidor principal y todas las mesas
Query OK, 0 filas afectadas, 1 advertencia (0,01 seg)

MySQL>
MySQL> privilegios ras; formulario de autorización de refresco #
Query OK, 0 filas afectadas (0.00 seg)

mysql>

2) master_a un servidor maestro y guardar todo el equipo
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # -uroot - p'Ctsi.2020 el mysqldump '--all single-transaction-Bases de datos> / tmp / mysql_full- derivar una copia de seguridad completa 1.SQL #
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # LL /tmp/mysql_full-1.sql
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

3) la primera vez que el servidor MySQL maestro completa desde el servidor a la copia de espera
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # SCP /tmp/mysql_full-1.sql [email protected]: / tmp /
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

[Root @ CentOS ~] #
[root @ CentOS ~] # # [email protected] inicio de sesión SSH remoto para ver la copia de seguridad completa del servidor si tiene éxito
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
[root @ CentOS-2 ~] # ll / tmp / mysql_full-1. SQL
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
[root @ CentOS-2 ~] #
[root @ CentOS-2 ~] # # Zimbabwe Cerrar sesión Cerrar sesión en un servidor remoto
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

4) todo el equipo introducido en la base de datos desde el servidor de
operaciones secundarios master_b:
[la raíz @ ~ los CentOS-2] #
[2-los CentOS la raíz @ ~] # MySQL -uroot - p'Ctsi.2020 '</tmp/mysql_full-1.sql # importar todo el equipo, de tal manera que el maestro está en un estado constante de ambos extremos

En este caso, el extremo principal y un extremo secundario de los datos en un estado coherente

5) Comprobar el estado del servidor de base de datos primaria y recordar
Descripción: Este estado es muy importante utilizar la parte de atrás, así que recuerde
la ejecución del lado master_a:
[root @ CentOS ~] #
[root @ CentOS ~] # -uroot-MySQL - p'Ctsi.2020 'signo # en el servidor de base de datos principal
de MySQL>
MySQL> Mostrar estado del maestro; # ver el estado principal de la biblioteca
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

6) de la primaria y de la copia
final master_b ejecución:
[la raíz @ ~ los CentOS-2] #
[2-los CentOS la raíz @ ~] MySQL -uroot - p'Ctsi.2020 # '# registro de la base de datos del lado del servidor
MySQL>
MySQL> maestros de modificación a
-> MASTER_HOST = '192.168.218.128',
-> MASTER_USER = 'repluser',
-> master_password = 'Mysql.2020',
-> MASTER_LOG_FILE = 'Master_A-binlog.000001',
-> MASTER_LOG_POS = 1,163;
consulta de permiso, 0 filas afectadas, 2 advertencias (0,13 seg)

mysql>
MySQL>
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

MySQL>
MySQL> Inicio esclavo; # proceso de sincronización esclavo inicio
Query OK, 0 filas afectadas (0.00 seg)

MySQL>
MySQL>
MySQL> Mostrar estado de esclavos \ estado de G # Ver esclavo
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

Nueve, para verificar master_a basada, master_b para la replicación maestro-esclavo de

Método: En extremo master_a de los datos de inserción, el extremo master_b verificar pasado sincronización

1) creada en la base de datos principal y al extremo de inserción de datos
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # MySQL -uroot - p'Ctsi.2020 '
MySQL>
MySQL> Crear base de datos T1;
consulta permiso, afectado Fila 1 (0.00 sec)

mysql>
MySQL> uso t1;
Base de Datos cambió
mysql>
mysql> create table Estudiante (
-> Sid varchar (10),
-> NombreS nvarchar (10),
-> Sage fecha y hora,
-> SSEX nvarchar (10)
->);
Query OK, 0 filas afectadas (0,15 seg)

mysql>
MySQL>
MySQL> inserción en los valores de los estudiantes ('01' , '张磊', '02/08/1995', '男');
Query OK, 1 fila afectada (0,00 seg)

mysql>
MySQL> inserción en los valores de los estudiantes ('02' , '李华', '06/11/1995', '男');
Query OK, 1 fila afectada (0,01 seg)

mysql>
mysql> SELECT * FROM Estudiante;
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

2) para comprobar si el terminal esclavo en los datos maestros inserta
[la raíz @ ~ los CentOS-2] #
[2-los CentOS la raíz @ ~] # MySQL -uroot - master_b extremo de base de datos de registro # p'Ctsi.2020'
MySQL>
MySQL> Mostrar bases de datos,
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
MySQL>
MySQL> SELECT * la de t1.Student;
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

Conclusión: master_a master_b y encontrado extremos de datos coherentes, el éxito de sincronización Comparación maestro-esclavo

Ten, y luego dispuesto para master_b principalmente, de la Master_A principal a modo de copia de

Comprender: creada en el nodo maestro CentOS nuevo usuario original (※ Esto es importante, porque antes ya una configuración maestro-esclavo, se creó se sincronizarán automáticamente con el master_b en master_a nodo, si crea un usuario en master_b, puede dos nodos pueden causar produce inconsistencia de datos)

Funciona final master_a:

1) Establecer la cuenta de replicación MySQL y hacer autorizar
la ejecución final master_a:
[root @ CentOS ~] #
[root @ CentOS ~] # MySQL-uroot - p'Ctsi.2020 '
MySQL>
MySQL> Grant esclavo de replicación en . Para repluser @ identificado por 192.168.218.128 'Mysql.2020';
. consulta el OK, 0 filas afectadas, advertencia 1 (0,00 seg)

mysql>
MySQL> privilegios ras;
Query OK, 0 filas afectadas (0.00 seg)

mysql>

2) Comprobar el estado del servidor de base de datos primaria y recordar
Descripción: Este estado es muy importante utilizar la parte posterior, a fin de recordar
para llevar a cabo al final master_b:
[root @ CentOS-2 ~] #
[root @ CentOS-2 ~] # mysql -uroot -p'Ctsi.2020 '
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

3) la primaria y la copia
final de ejecución master_a:
[CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # MySQL -uroot - p'Ctsi.2020 '
MySQL>
MySQL> Cambiar al Maestro
-> MASTER_HOST =' 192.168.218.136 '
-> MASTER_USER =' repluser '
-> master_password =' Mysql.2020 '
-> MASTER_LOG_FILE =' master_b-binlog.000001',
-> MASTER_LOG_POS = 831 197;
consulta el OK, 0 filas afectadas, 2 representa advertencias (0,13 sec )

MySQL>
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
MySQL>
MySQL> Inicio esclavo; # proceso de sincronización esclavo inicio
Query OK, 0 filas afectadas (0.00 seg)

MySQL>
MySQL>
MySQL> Mostrar estado de esclavos \ estado de G # Ver esclavo
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

XI basada en la autenticación a master_b, Master_A de replicación del maestro-esclavo

Método: insertando el extremo master_b datos, master_a termina verificar la sincronización pasado

1) creada en la base de datos principal y se inserta final de los datos
[2-los CentOS la raíz @ ~] #
[2-los CentOS la raíz @ ~] # MySQL -uroot - p'Ctsi.2020 '
MySQL>
MySQL> Crea t2 base de datos; t2 # Crear la base de datos
Query OK, 1 fila afectada (0,00 seg)

mysql>
MySQL> t2 uso;
Base de Datos cambió
mysql>
mysql> create table Estudiante (
-> Sid varchar (10),
-> NombreS nvarchar (10),
-> Sage fecha y hora,
-> SSEX nvarchar (10)
->);
Query OK, 0 filas afectadas (0,11 seg)

MySQL>
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
MySQL>
MySQL> valores INSERT INTO estudiantes ('03 '' Qing Wang '' 01/06/1996 '' F '); # insertar datos
Query OK, 1 fila afectada (0,01 seg)

mysql>
MySQL> inserción en los valores de los estudiantes ('04' , '三毛', '09/25/1980', '女');
Query OK, 1 fila afectada (0,10 seg)

mysql>
mysql> SELECT * FROM Estudiante;
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

2) para comprobar si el terminal esclavo en los datos maestros inserta
[los CentOS la raíz @ ~] #
[los CentOS la raíz @ ~] # MySQL -uroot - p'Ctsi.2020 '
MySQL>
MySQL> Mostrar bases de datos,
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra
MySQL>
MySQL> SELECT * de t2.Student;
CentOS-7.5-configurados de doble MySQL 5.7 copia maestra

Conclusión: master_a master_b y encontrado extremos de datos coherentes, el éxito de sincronización Comparación maestro-esclavo

12. Este resultados experimentales

Después de dos rondas de resultados de la verificación: configuración Maestro MySQL doble de éxito

Supongo que te gusta

Origin blog.51cto.com/14783377/2485673
Recomendado
Clasificación