序文 この記事では、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 の違いと用途の詳細な説明
Docker は、開発者やシステム管理者がアプリケーションを軽量コンテナとして構築およびパッケージ化...
構文: <marquee> …</marquee>モバイル属性マーキーを使用...
港Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するための...
この記事では、VUEの具体的なコードを共有して、下部吸引ボタンを実装する例を紹介します。具体的な内容...
私は新年を迎える前からプロジェクトに取り組んでいましたが、ここ数日で、新しいサーバー用に新しく増設し...
この記事では、例を使用して、MySQL ストアド プロシージャでのループ ステートメント (WHIL...
目次スタイルスコープスタイルモジュール状態駆動型動的CSS要約するスタイルスコープ注意事項:スタイル...
参考までに、jsを使用して照明スイッチを制御します。具体的な内容は次のとおりです。トピック: js ...
CSS 3 アニメーションの例 - タブの背景切り替えの動的効果、具体的なコードは次のとおりです。 ...
目次序文sql_mode の説明最も重要なオプションすべてのオプション要約する序文前回の記事「MyS...
秘密鍵を開かずにリモート サーバーのデータベースに接続するのは非常に便利です。新しい接続でデータを入...
XHTMLの img タグは、次のように記述する必要があります: <img alt="...
目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...
目次1. 基本原則2. 特定のコード要約する1. 基本原則まず、生放送エリアを10の部分に分割し(個...
REPLACE構文REPLACE(String,from_str,to_str)つまり、String...