Si prega di seguire i passaggi seguenti per configurare la configurazione MySQL Master-Slave.
Questi passaggi sono stati testati e funzionano sui nodi CentOS 7.x.
Per seguire, avrai bisogno almeno di due nodi di calcolo. Puoi avviare nodi di calcolo su richiesta su E2E Public Cloud. Clicca qui per saperne di più.
Assumiamo i seguenti server.
IP del server principale:192.168.1.1
IP del server slave:192.168.1.2
Passaggio 1:prepara il server principale
#yum -y update
Passaggio 2:aggiungi Repo
rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
Passaggio 3:installa mysql-server 5.6 (versione stabile)
yum -y install mysql-server
Passaggio 4:avvia/arresta/riavvia MySQL Server
#systemctl start mysqld #systemctl stop mysqld #systemctl restart mysqld #systemctl status mysqld
Passaggio 5:reimposta la password di root 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
Passaggio 6:configura un MySQL nel server principale
Aggiungi le seguenti voci nella sezione [mysqld].
# vim /etc/my.cnf server-id = 1 log-bin = /var/lib/mysql/mysql-bin Restart MySQL service #systemctl restart mysqld
Passaggio 7:crea e concedi l'accesso alla replica
# 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
Passaggio 8:esegui il dump di tutti i database in una schermata in modo che il processo di dump venga eseguito nella sessione anche se la sessione del terminale è stata chiusa.
#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/
Passaggio 9:prepara il server slave
Segui i passaggi da 1 a 5 per creare il server slave.
Aggiungi le seguenti voci nella sezione [mysqld].
# vim /etc/my.cnf server-id = 2 Restart MySQL service #systemctl restart mysqld
Nota:l'ID server deve essere univoco.
Passaggio 10:ripristino dump
#mysql -u root -p /root/all-databases.sql
Passaggio 11:conosci MASTER_LOG_FILE e 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:seguire i passaggi da 1 a 5 per creare un server slave.
Passaggio 12:configura il server slave
#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