
sudo mysql -u root -p
 SHOW FULL PROCESSLIST;

-------------------

RESET SLAVE;

FLUSH TABLES WITH READ LOCK;
UNLOCK TABLES;

SHOW MASTER STATUS\G;
SHOW SLAVE STATUS\G;

(se coloca en 50-server.cnf)
server_id = 1
report_host = master
log_bin = /var/lib/mysql/mariadb-bin
log_bin_index = /var/lib/mysql/mariadb-bin.index
relay_log = /var/lib/mysql/relay-bin
relay_log_index = /var/lib/mysql/relay-bin.index



https://www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replication-in-mysql

Los servidores en este ejemplo tienen las siguientes IP:

Master IP: 192.168.121.190 Slave IP: 192.168.121.236
Instalar MySQL

El repositorio predeterminado de Ubuntu 18.04 incluye MySQL versión 5.7. Para evitar cualquier problema, es mejor instalar la misma versión de MySQL en ambos servidores.

Instale MySQL en el servidor maestro:

sudo apt-get update sudo apt-get install mysql-server

Instale MySQL en el servidor Slave usando los mismos comandos:

sudo apt-get update sudo apt-get install mysql-server

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

#bind-address = 192.168.121.190
server-id = 1 
binlog-do-db=c1shop
replicate-do-db=c1shop
log_bin = /var/log/mysql/mysql-bin.log

Una vez hecho esto, reinicie el servicio MySQL para que los cambios surtan efecto:

sudo systemctl restart mysql

El siguiente paso es crear un nuevo usuario de replicación. Inicie sesión en el servidor MySQL como usuario root escribiendo:


sudo mysql -u root -p


Desde el indicador de MySQL, ejecute las siguientes consultas SQL que crearán la replica usuario y otorgarán el privilegio REPLICATION SLAVE al usuario:

CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236'; Asegúrese de cambiar la IP con su dirección IP esclava. Puede nombrar al usuario como lo desee. 
SHOW MASTER STATUS\G;

*************************** 1. row ***************************
File: mysql-bin.000001 
Position: 629 
Binlog_Do_DB: 
Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec) 
Configurar el servidor esclavo

Al igual que para el servidor maestro anterior, realizaremos los siguientes cambios en el servidor esclavo:

    Configure el servidor MySQL para escuchar en el IPSet privado un ID de servidor único Habilite el registro binario

Abra el archivo de configuración de MySQL y edite las siguientes líneas:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf esclavo: /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log

Reinicie el servicio MySQL:

sudo systemctl restart mysql

El siguiente paso es configurar los parámetros que el servidor esclavo usará para conectarse al servidor maestro. Inicie sesión en el shell de MySQL:

------------------------------------------------------

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

server-id = 2 
binlog-do-db=c1shop
replicate-do-db=c1shop
log_bin = /var/log/mysql/mysql-bin.log

sudo systemctl restart mysql

sudo mysql -u root -p

Primero, detenga los hilos esclavos:

STOP SLAVE;

Ejecute la siguiente consulta que configurará el esclavo para replicar el maestro:

CHANGE MASTER TO MASTER_HOST='192.168.121.190', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=629;

Asegúrese de estar utilizando la dirección IP, el nombre de usuario y la contraseña correctos. El nombre y la posición del archivo de registro deben ser los mismos que los valores que obtuvo del servidor maestro.

Una vez hecho esto, inicie los hilos esclavos.

START SLAVE;





---------------------------------------

#!/bin/bash
SITIO1=200.58.86.15 # DNS de Google principal

while true
do
ping -c8 ${SITIO1} >/dev/null 2>/dev/null
respuesta2=$?
if [ $respuesta2 -eq 1 ];
then
   sudo -u root service apache2 start
   logger SERVIDOR CAIDO. HORA: $(date)
   echo "SERVIDOR CAIDO. HORA: $(date)" >> log_fails.txt
else
   sudo -u root service apache2 stop
fi
sleep 10 # Esperamos 10 segundos para volver a comprobar desde el inicio
done

--------------------------------------------------------------------

t1.1 200.58.86.15  master
t1.2 200.58.83.86  slave



CREATE USER 'replica2'@'200.58.83.86' IDENTIFIED BY 'replica_password2';

GRANT REPLICATION SLAVE ON *.* TO 'replica2'@'200.58.83.86';


MariaDB [(none)]> SHOW MASTER STATUS\G
MariaDB [(none)]> SHOW MASTER STATUS\G
*************************** 1. row ***************************
              File: mysql-bin.000030
        Position: 690
    Binlog_Do_DB: BD1
Binlog_Ignore_DB:
1 row in set (0.000 sec)

----------------------------------
CHANGE MASTER TO MASTER_HOST='200.58.86.15', MASTER_USER='replica2', MASTER_PASSWORD='replica_password2', MASTER_LOG_FILE='mysql-bin.000030', MASTER_LOG_POS=690; 

---------------------
rsync -azvh --progress /var/www/ root@200.58.78.12:/var/www/
rsync -azvh --progress /var/www/ root@200.58.86.7:/var/www/
 

para copiar de un lugar a otro

SSH y SCP para acceder a equipos remotos sin escribir la clave




1- Desde del directorio $HOME del usuario(root):
hacemos ssh a la maq-X esto nos pide clave. luego retornamos a la maq origen con (exit)

2- despues ejecutamos esta linea
ssh-keygen -b 4096 -t rsa
luego confirmamos con 3 ENTER

ssh-copy-id root@servidor o maq destino

Eso genera $HOME/.ssh/id_rsa y $HOME/.ssh/id_rsa.pub que son las claves privada y publica para el sistema RSA.
Copiar la clave pública a otros hosts
