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

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

王林
王林nach vorne
2023-06-01 22:43:041120Durchsuche

> 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
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
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

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

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
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'@'%';"
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;"

5. Sklave

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

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

docker network create --driver overlay common-network --attachable
. 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

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen