Configuración de laboratorio
Nodo maestro - 192.168.43.13
Nodo de esclavos - 192.168.43.252
Paso 1: Instale mariadb en servidores maestros y esclavos
Para empezar, debe instalar mariadb tanto en el maestro como en el esclavo. Así que sigue los pasos a continuación:
Primero, inicie sesión en el servidor maestro y actualice los paquetes del sistema como se muestra:
$ sudo dnf actualización
Después de actualizar con éxito su sistema, ahora continúe e instale mariadb
$ sudo dnf install mariadb-server
Una vez que la instalación es exitosa, puede verificar que MariadB se instale ejecutando el comando:
$ rpm -qa | Grep Mariadb
Para obtener información más detallada, ejecute el comando:
$ rpm -qi mariadb -server
Ahora comience el servicio Mariadb
$ sudo systemctl start mariadb
Además, también puede habilitar el servicio para comenzar automáticamente en cualquier sesión de arranque/reinicio.
$ sudo systemctl habilitar mariadb
Para verificar que el motor de base de datos MariadB esté en funcionamiento, emita el comando:
$ sudo systemctl status mariadb
Perfecto! Mariadb está en funcionamiento como esperábamos.
Tal como están las cosas, MariadB no está asegurada y cualquier usuario puede iniciar sesión en el motor de la base de datos y tener acceso a todas las bases de datos y realizar cambios. Por supuesto, no queremos que eso suceda y asegurar la base de datos debería ser una prioridad. Por lo tanto, necesitamos asegurar el motor de la base de datos estableciendo una contraseña de root. Entonces, ejecute el comando a continuación:
$ sudo mysql_secure_installation
Lo que sigue es un mensaje interactivo que requerirá establecer la contraseña de root de la base de datos y responder algunas preguntas.
Por defecto, MariadB se ejecuta en el puerto 3306. Si está ejecutando un firewall, debe permitir este puerto para que el motor de la base de datos pueda ser accesible para usuarios y servicios externos.
Para abrir el puerto en el firewall, ejecute la siguiente regla de firewall:
$ sudo firewalld-cmd --add-puerto = 3306/tcp --zone = public --permanent
Para que se aplique la regla, recargue el firewall:
$ sudo firewalld-cmd--Reload
Con MariadB instalado y asegurado correctamente en el servidor maestro, repita los mismos pasos en el servidor de esclavos.
Paso 2: Configurar mariadb en el servidor maestro
Necesitamos configurar el demonio mariadb para que nuestro servidor maestro previsto actúe como un servidor en la configuración. Así que abra el archivo de configuración /etc/mi.CNF
$ sudo vim /etc /my.CNF
Agregue la configuración a continuación
[mysqld]Guardar y salir del archivo de configuración. Para efectuar los cambios, reinicie el servicio de mariadb.
$ sudo systemctl reiniciar mariadb-server
Paso 3: Configure el servidor de esclavos
Al igual que el servidor maestro, el esclavo debe configurarse para actuar como uno. Así que abra el archivo de configuración como antes:
$ sudo vim /etc /my.CNF
Agregue la configuración a continuación
[mysqld]Estar interesado en proporcionar una diferente 'servidor_id'Desde el servidor maestro, que es 2 en este caso. Y al igual que el servidor maestro, el 'bind_address'El parámetro debe apuntar a la dirección IP del esclavo.
Guardar y salir del archivo.
Paso 3: Cree un usuario de replicación en el servidor maestro
Para configurar el esclavo para la replicación, necesitamos regresar al nodo maestro y crear un usuario de replicación. Inicie sesión en el motor de base de datos Mariadb.
$ mysql -u root -pPrimero, detente al usuario de esclavos.
Mariadb [(ninguno)]> parar esclavo;Crear un usuario de replicación con los comandos mostrados:
Mariadb [(ninguno)]> Said replication Slave en *.* A 'Replica_user' @'192.168.43.252 '
Identificado por 'p@ssword123';
Consulta bien, 0 filas afectadas (0.06 seg)
Mariadb [(ninguno)]> privilegios de descarga;
Consulta bien, 0 filas afectadas (0.04 seg)
Mariadb [(ninguno)]> Tablas de descarga con bloqueo de lectura;
Consulta bien, 0 filas afectadas (0.02 seg)
Mariadb [(ninguno)]> salida;
Consulta bien, 0 filas afectadas (0.02 seg)
A partir de entonces, verifique ese estado del maestro ejecutando:
Mariadb [(ninguno)]> Mostrar estado maestro \ gObserve cuidadosamente los valores del nombre de archivo y la posición. Luego se utilizarán para configurar el esclavo para la replicación.
De la salida anterior, esto se traduce en:
Archivo: mysql-bin.000001
Posición: 1317
Salga del motor MariadB y cree una copia de respaldo del servidor maestro como se muestra:
$ sudo mysqldump -todas las databasas -u root -p> MasterDatabase.sql
Inicie sesión de regreso a Mariadb y desbloquee las tablas:
Mariadb [(ninguno)]> desbloquear tablas;Recuerde la copia de copia de seguridad que creamos para la base de datos maestra? Estamos listos para copiarlo en el servidor de esclavos. Así que ejecuta el comando a continuación:
$ SCP MasterDatabase.Root [email protected]:/root/
Paso 4: Configure el esclavo para la replicación
De vuelta en el nodo esclavo, importe el archivo de copia de seguridad que copiamos del maestro al motor Mariadb.
$ mysql -u root -p < masterdatabase.sqlY luego reinicie el servicio de mariadb
$ systemctl reiniciar mariadb
Ahora inicie sesión en el motor de base de datos Mariadb y configure el esclavo de la siguiente manera:
Mariadb [(ninguno)]> parar esclavo; Mariadb [(ninguno)]> Cambiar maestro a maestro_host = '192.168.43.13 ', maestro_user =' réplica_user ',Recuerde los valores que dijimos que debe recordar y posiblemente anotarlos al mostrar el estado del servidor maestro? Estos finalmente se han definido en el Maestro_log_file y Maestro_log_pos Atributos como se ve.
Finalmente, comience al esclavo para inicializar al esclavo para comenzar a replicar desde el maestro:
Mariadb [(ninguno)]> Iniciar esclavo;Luego verifique el estado del esclavo
Mariadb [(ninguno)]> Mostrar el estado de esclavos;Si la configuración se realizó perfectamente, no debe obtener la salida a continuación libre de ningún error.
El esclavo ahora está listo para la replicación.
Paso 5: Prueba de replicación de la base de datos
En última instancia, debemos confirmar si nuestra configuración está funcionando. Entonces, inicie sesión en una instancia de mariadb en el maestro y cree una base de datos de prueba como se muestra
Mariadb [(ninguno)]> Crear base de datos réplica_db;Luego confirme la creación de la base de datos
Mariadb [(ninguno)]> mostrar bases de datos;Regrese al nodo esclavo y verifique si la base de datos existe.
Perfecto! Nuestra configuración está funcionando! Todas las bases de datos posteriores creadas en el maestro se replicarán automáticamente y los cambios sincronizados en el nodo esclavo. Y esto nos lleva al final de esta guía.