序文 この記事では、docker-compose と dockerfile を使用して、binlog に基づく MySQL マスター スレーブ環境を構築する方法を説明します。この記事の手順に厳密に従えば、基本的な MySQL マスター/スレーブ環境をすぐに構築できると思います。 導入 MySQL マスター スレーブ同期は 3 つのステップに分かれています。
構成 ディレクトリ構造を作成する まず、ディレクトリ構造を取得しましょう。私のディレクトリ構造は次のとおりです。自分の考えに従ってディレクトリを構築する場合は、以下の docker-compose.yaml ファイルと Dockerfile ファイル内のファイル パスを変更することに注意してください。 docker-compose テンプレートファイルを構成する バージョン: "3" サービス: mysqlマスター: 建てる: コンテクスト: 。/ dockerfile:mysql/マスター/Dockerfile コンテナ名: mysql-master ボリューム: - ./mysql/master/data:/var/lib/mysql 再起動: 常に ポート: - 3305:3306 リンク: -mysqlスレーブ mysqlスレーブ: 建てる: コンテクスト: 。/ dockerfile:mysql/スレーブ/Dockerfile コンテナ名: mysql-slave ボリューム: - ./mysql/スレーブ/データ:/var/lib/mysql 再起動: 常に ポート: -3306:3306 マスターノードのcluster.cnfファイルとDockerfileファイルを構成する [mysqld] サーバーID=100 binlog-ignore-db=mysql ログ bin = レプリカ mysql bin binlog_cache_size=1M binlog_format=混合 スレーブスキップエラー=1062 # 私のMySQLは8.xなので、default_authentication_plugin=mysql_native_passwordを次のように設定する必要があります 文字セットサーバー=utf8mb4 照合サーバー=utf8mb4_unicode_ci mysql:latestから ./mysql/master/cluster.cnf /etc/mysql/conf.d/cluster.cnf を追加します。 ENV MYSQL_ROOT_PASSWORD=パスワード スレーブノードのcluster.cnfファイルとDockerfileファイルを構成する [mysqld] サーバーID=101 binlog-ignore-db=mysql binlog_cache_size=1M binlog_format=混合 スレーブスキップエラー=1062 リレーログ=レプリカmysqlリレーbin ログスレーブ更新=1 読み取り専用=1 # 私のMySQLは8.xなので、default_authentication_plugin=mysql_native_passwordを次のように設定する必要があります 文字セットサーバー=utf8mb4 照合サーバー=utf8mb4_unicode_ci mysql:latestから ./mysql/slave/cluster.cnf /etc/mysql/conf.d/cluster.cnf を追加します。 ENV MYSQL_ROOT_PASSWORD=パスワード コンテナを作成する docker-compose up -d mysql-master mysql-slave 上記のコマンドを実行してコンテナを作成します。ビルド時間が長すぎる場合は、次のような国内の高品質イメージソースなど、イメージソースの変更を検討できます。 ネットイース: http://hub-mirror.c.163.com Alibaba Cloud: http://<あなたのID>.mirror.aliyuncs.com 中国科学技術大学: http://docker.mirrors.ustc.ed... ビルドが完了したら、 スレーブノードの構成 まず、docker コマンドを使用して mysql-master コンテナに入り、次に mysql にログインして 次に、docker コマンドを使用して mysql-slave コンテナに入り、mysql にログインして次のステートメントを入力して mysql-master に接続します。 マスターを変更 MASTER_HOST='mysql-master', MASTER_USER='root'、 MASTER_PASSWORD=設定したパスワード、 MASTER_LOG_FILE=前の手順で取得したファイルパラメータ、 MASTER_LOG_POS=前の手順で取得した位置パラメータ。 コマンドを入力した後、 マスタースレーブノードの同期ステータスをテストする mysql-master ノードにログインし、新しいデータベースを作成します。データベースが正常に作成されたら、mysql-slave ノードに切り替えて 要約する これらは、MySQL マスタースレーブアーキテクチャを構築しようとしたときに記録した手順です。これで、Docker を使用して MySQL マスタースレーブ環境を構築する方法についての記事は終了です。Docker を使用して MySQL マスタースレーブ環境を構築する方法についての詳細は、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL から Excel にテーブルデータをエクスポートする際の日時形式に関する簡単な説明
>>: Vue における {{}}、v-text、v-html の違いと用途の詳細な説明
目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...
前回は、Explain 実行プランの表示、インデックスの分析など、MySQL での SQL クエリの...
目次最初のステップはMySQLをダウンロードすることですステップ2: ダウンロードした圧縮パッケージ...
1. はじめに少し前、開発者がテスト環境や本番環境で誤った操作をし、データベースを誤って削除/更新し...
はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...
序文少し前に、興味深い問題を目にしました。Vue のデータが変更された後に、ビューを同期的に更新する...
c3p0の使用c3p0jarパッケージをインポートする <!-- https://mvnrep...
注 1: 上の画像の背景全体がこの Web ページのフルサイズであり、中央の小さなボックスがブラウザ...
ほとんどの人はMySQLをコンパイルしてシステムディレクトリに置きますが、私のやり方はコンパイルした...
SVG は、さまざまな利点があるため、近年広く使用されています。残念ながら、WeChat ミニプログ...
WSLとはBaidu 百科事典からの一節を引用します。 Windows Subsystem for ...
1. 構造部品1. フォームには、入力コントロール、標準フォーム フィールド、ラベル、ドロップダウン...
目次1. オブジェクト1.1 オブジェクトとは何ですか? 1.2 なぜオブジェクトが必要なのか? 2...
JavaScript - 原則シリーズ日常の開発では、既存のプロジェクトを引き継ぐときは常に、まず他...
成果を達成する実装コードhtml <div>123WORDPRESS.COM</d...