GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Wie richte ich das MySQL-Master-Slave-Setup mit CentOS 7-Knoten ein?

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

Cent OS
  1. Wie richte ich das MySQL-Master-Slave-Setup mit CentOS 7-Knoten ein?

  2. So richten Sie eine Firewall mit FirewallD unter CentOS 8 ein

  3. So richten Sie die MySQL-Replikation unter CentOS ein

  4. So legen Sie benutzerdefinierte Gerätenamen mit udev in CentOS/RHEL 7 fest

  5. So installieren Sie MySQL 5.6 unter CentOS 6.x

So richten Sie Percona-Cluster mit HAproxy Loadbalancer unter CentOS 7 ein

So richten Sie einen FTP-Server unter CentOS 8 mit VSFTPD ein

So richten Sie die MySQL-Replikation in RHEL/Centos ein

So richten Sie WebDAV mit Apache unter CentOS 7 ein

So richten Sie die MariaDB-Master-Slave-Replikation unter CentOS 7 ein

Wie richte ich die MySQL-Master-Slave-Replikation auf RHEL 7 ein?