Heim > Datenbank > MySQL-Tutorial > Hauptteil

So verwenden Sie Docker zum Bereitstellen eines MySQL5.7- und 8.0-Master-Slave-Clusters

王林
Freigeben: 2023-06-01 22:43:04
nach vorne
1152 Leute haben es durchsucht

> MySQL 5.7-Cluster-Master und -Slave bereitstellen (nur zum Testen)

Mirror-Version 5.7

1. Bearbeiten Sie zwei Konfigurationsdateien „master.cnf“ und „slave.cnf“.

docker network create --driver overlay common-network --attachable
Nach dem Login kopieren
Nach dem Login kopieren
e
3. Starten Sie 2 MySQL: mysql-master, mysql-slave

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]
log-bin=mysql-bin
server-id=1
gtid-mode=on
enforce-gtid-consistency=on
Nach dem Login kopieren
e
4. Fügen Sie einen Benutzer aus der Datenbank für die Replikation hinzu

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]
server-id=2
gtid-mode=on
enforce-gtid-consistency=on
Nach dem Login kopieren

6. Überprüfen Sie den Slave-Status

docker run -d \
--name mysql-master \
--network common-network \
-e mysql_root_password=passw0rd \
-v `pwd`/master.cnf:/etc/mysql/my.cnf \
-p 3306:3306 \
-d mysql:5.7
Nach dem Login kopieren

Der folgende Status ist normal:

slave_io_running: ja

slave_sql_running: ja


> MySQL 8.0-Cluster-Master und -Slave bereitstellen (nur zum Testen)

Spiegelversion MySQL: 8.0

1. Overlay erstellen Netzwerk

docker run -d \
--name mysql-slave \
--network common-network \
-e mysql_root_password=passw0rd \
-v `pwd`/slave.cnf:/etc/mysql/my.cnf \
-p 3307:3306 \
-d mysql:5.7
Nach dem Login kopieren
2. Starten Sie 2 MySQL: MySQL-Master, MySQL-Slave

docker run -it --rm --network common-network mysql mysql -hmysql-master -uroot -ppassw0rd \
-e "create user 'repl'@'%' identified by 'password' require ssl; " \
-e "grant replication slave on *.* to 'repl'@'%';"
Nach dem Login kopieren
e

3. Konfigurieren Sie Master und Slave

docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -ppassw0rd \
-e "change master to master_host='mysql-master', master_port=3306, master_user='repl', master_password='password', master_auto_position=1, master_ssl=1;" \
-e "start slave;"
Nach dem Login kopieren

5. Sklave

docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -ppassw0rd -e "show slave status\g"
Nach dem Login kopieren

6. Überprüfen Sie den Slave-Status.

docker network create --driver overlay common-network --attachable
Nach dem Login kopieren
Nach dem Login kopieren
. Der folgende Status ist normal:

slave_io_running: ja


docker run -d \
--name mysql-master \
--network common-network \
-e mysql_root_password=passw0rd \
-p 3306:3306 \
-d mysql --default-authentication-plugin=mysql_native_password
Nach dem Login kopieren

bei Sklave Datenbankliste anzeigen


docker run -d \
--name mysql-slave \
--network common-network \
-e mysql_root_password=passw0rd \
-p 3307:3306 \
-d mysql --default-authentication-plugin=mysql_native_password
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker zum Bereitstellen eines MySQL5.7- und 8.0-Master-Slave-Clusters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage