1: 3 つの仮想マシンまたは 3 つのコンテナを開きます
docker run -itd --name mysql_m -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
docker run -itd --name mysql_s1 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
docker run -itd --name mysql_s2 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35
2: 1台をマスター、残りの2台をスレーブに設定します。
docker cp 容器名称:/etc/mysql/conf.d/docker.cnf m.cnf
三个复制过来,主mysql的上面加上
设置server-id
开启bin-log
从机上只用加server-id
三个的server-id应该不同
ホスト
[mysqld]
skip-host-cache
skip-name-resolve
server-id=1
log-bin=master-bin
から
[mysqld]
skip-host-cache
skip-name-resolve
server-id=2
変更が完了したら、対応するファイルを対応するコンテナに配置します。
3: メインのセットアップ
1: データベースに入り、ユーザーを作成します
create user 'rep'@'%' identified by '123456';
2: 新規ユーザーを承認する
grant replication slave on *.* to 'rep'@'%';
3: 権限を更新する
flush privileges;
4: 新しいユーザーとしてログインしてみる
mysql -urep -p123456
5: ログ番号とポジション番号を確認する
show master status;
4: スレーブをセットアップする
change master to
master_host="192.168.128.138",master_port=3307,
master_user="rep",
master_password="123456",
master_log_file="master-bin.000001",
master_log_pos=737;
strat slave;
5: 検証
show smile status \G
下の 2 つが両方とも
YESの場合に有効です