Siga los pasos a continuación para configurar MySQL Master-Slave.
Estos pasos han sido probados y funcionan en nodos de CentOS 7.x.
Para seguir, necesitará al menos dos nodos de cómputo. Puede lanzar nodos de cómputo bajo demanda en E2E Public Cloud. Haga clic aquí para saber más.
Supongamos los siguientes servidores.
IP del servidor maestro:192.168.1.1
IP del servidor esclavo:192.168.1.2
Paso 1:preparar el servidor maestro
#yum -y update
Paso 2:Agregar repositorio
rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
Paso 3:Instale mysql-server 5.6 (versión estable)
yum -y install mysql-server
Paso 4:iniciar/detener/reiniciar el servidor MySQL
#systemctl start mysqld #systemctl stop mysqld #systemctl restart mysqld #systemctl status mysqld
Paso 5:restablecer la contraseña raíz de MySQL
#mysql_secure_installation Enter current password for root (enter for none): Enter a secure password Set root password? [Y/n] y New password: Re-enter new password: To Remove anonymous users Remove anonymous users? [Y/n] y To disable remote root login Disallow root login remotely? [Y/n] y To reload privileges Reload privilege tables now? [Y/n] y
Paso 6:configurar MySQL en el servidor maestro
Agregue las siguientes entradas en la sección [mysqld].
# vim /etc/my.cnf server-id = 1 log-bin = /var/lib/mysql/mysql-bin Restart MySQL service #systemctl restart mysqld
Paso 7:Crear y otorgar acceso de replicación
# mysql -u root -p mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'192.168.1.2' IDENTIFIED BY replication-password; mysql> FLUSH PRIVILEGES; mysql> \q
Paso 8:Tome todo el volcado de la base de datos en una pantalla para que el proceso de volcado se ejecute en la sesión incluso si la sesión del terminal se cerró.
#screen -S#mysqldump -u root -p --all-databases --master-data > /root/all-databases.sql Sync the dump to the slave server. #scp /root/all-databases.sql root@ :/root/ Or #rsync -arvP /root/all-databases.sql root@ :/root/
Paso 9:preparar el servidor secundario
Siga los pasos del 1 al 5 para construir el servidor esclavo.
Agregue las siguientes entradas en la sección [mysqld].
# vim /etc/my.cnf server-id = 2 Restart MySQL service #systemctl restart mysqld
Nota:la identificación del servidor debe ser única.
Paso 10:Restaurar volcado
#mysql -u root -p /root/all-databases.sql
Paso 11:Conozca MASTER_LOG_FILE y MASTER_LOG_POS
#head -n 30 /root/all-databases.sql | grep MASTER_LOG_FILE CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=120;
Nota:Siga los pasos del 1 al 5 para crear un servidor esclavo.
Paso 12:configurar el servidor esclavo
#mysql -u root -p mysql> SLAVE STOP; mysql> CHANGE MASTER TO MASTER_HOST='[192.168.1.1]', MASTER_USER='['slave_user']', MASTER_PASSWORD='[replication-password]', MASTER_LOG_FILE='[file-listed-on-master-status]', MASTER_LOG_POS=[log-position-listed-on-master-status]; mysql> START SLAVE; mysql> SHOW SLAVE STATUS\G The above command will show the complete slave status and verify the Slave_IO_Running and Slave_SQL_Running should be Yes. Slave_IO_Running: Yes Slave_SQL_Running: Yes