Bitte befolgen Sie die folgenden Schritte, um das MySQL-Master-Slave-Setup einzurichten.
Diese Schritte wurden getestet und funktionieren auf CentOS 7.x-Knoten.
Im Folgenden benötigen Sie mindestens zwei Rechenknoten. Sie können Rechenknoten bei Bedarf in der E2E Public Cloud starten. Klicken Sie hier, um mehr zu erfahren.
Nehmen wir die folgenden Server an.
Masterserver-IP:192.168.1.1
Slave-Server-IP:192.168.1.2
Schritt 1:Masterserver vorbereiten
#yum -y update
Schritt 2:Repository hinzufügen
rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
Schritt 3:Installieren Sie mysql-server 5.6 (stabile Version)
yum -y install mysql-server
Schritt 4:MySQL Server starten/stoppen/neu starten
#systemctl start mysqld #systemctl stop mysqld #systemctl restart mysqld #systemctl status mysqld
Schritt 5:MySQL-Root-Passwort zurücksetzen
#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
Schritt 6:MySQL im Master-Server konfigurieren
Fügen Sie die folgenden Einträge im Abschnitt [mysqld] hinzu.
# vim /etc/my.cnf server-id = 1 log-bin = /var/lib/mysql/mysql-bin Restart MySQL service #systemctl restart mysqld
Schritt 7:Replikationszugriff erstellen und gewähren
# 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
Schritt 8:Führen Sie alle Datenbank-Dumps in einem Bildschirm aus, sodass der Dump-Prozess in der Sitzung ausgeführt wird, selbst wenn die Terminalsitzung geschlossen wird.
#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/
Schritt 9:Slave-Server vorbereiten
Befolgen Sie die Schritte 1 bis 5, um den Slave-Server zu erstellen.
Fügen Sie die folgenden Einträge im Abschnitt [mysqld] hinzu.
# vim /etc/my.cnf server-id = 2 Restart MySQL service #systemctl restart mysqld
Hinweis:Die Server-ID sollte eindeutig sein.
Schritt 10:Dump wiederherstellen
#mysql -u root -p /root/all-databases.sql
Schritt 11:Machen Sie sich mit MASTER_LOG_FILE und MASTER_LOG_POS vertraut
#head -n 30 /root/all-databases.sql | grep MASTER_LOG_FILE CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=120;
Hinweis:Befolgen Sie die Schritte 1 bis 5, um einen Slave-Server zu erstellen.
Schritt 12:Slave-Server konfigurieren
#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