ホームページ >データベース >mysql チュートリアル >Mysql 5.7 Docker マスター/スレーブ レプリケーション アーキテクチャチュートリアル_MySQL
参考のために mysql 5.7 docker マスター/スレーブ レプリケーション アーキテクチャ チュートリアルを共有します。具体的な内容は次のとおりです
環境バージョン:
MySQL: 5.7.13
ドッカー: 1.11.2
CentOS : 7.1
1. まず、2 つの MySQL を 2 つの物理マシンにインストールします。コマンドは次のとおりです。
docker pull mysql:5.7.13
docker run --name anuo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=qaz.00JK -d mysql:5.7.13
コードは次のとおりです:
GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.2.103' IDENTIFIED BY 'qaz.00JK';
コピーされたアカウントは: rep1
指定されたスレーブ ライブラリの IP は 192.168.2.103 である必要があります (面倒なのでもっと便利な変更方法があるはずです)
3.1 まず、構成ファイルを docker からホスト/ルート ディレクトリにコピーします。
docker cp anuo-mysql:/etc/mysql/my.cnf /root
3.2 ホスト上で my.cnf を開き、[mysqld] ノードの末尾に
log-bin=mysql-bin
サーバーID=1
3.3 次に、このファイルを docker mysql にアップロードして上書きします
docker cp /root/my.cnf anuo-mysql:/etc/mysql/my.cnf
3.4 mysqlのdockerを再起動して設定を有効にします
ステップ 3 と同じですが、唯一の違いは
メイン データベースで次のコマンドを実行して、マスター データベースとスレーブ データベース間のデータの整合性を確保するために、メイン データベースのすべてのテーブルを読み取り専用で書き込み不可の状態にします。 読み取りロック付きテーブルをフラッシュします
6. メインデータベースのデータベースをバックアップし、スレーブデータベースから復元します
mysqlにはnavicatを使うととても便利です
7. スレーブライブラリから復元後、メインライブラリの読み取りロックを解除し、メインライブラリの書き込み許可を復元します
テーブルのロックを解除します。
8. メインライブラリに接続し、スレーブライブラリ上で実行するようにスレーブライブラリを設定します
リーリー 最後の 2 つのアイテム
MASTER_LOG_FILE と MASTER_LOG_POSメインライブラリで SHOW MASTER STATUS コマンドを実行して
を取得します。 対応するフィールドはファイルと位置です
9. スレーブライブラリでスレーブスレッドを開始して同期を開始します
10.スレーブライブラリの同期ステータスを確認します
マスターがイベントを送信するのを待っています...
そしたら大成功でした!!
以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。よろしくお願いいたします。