序文 この記事では、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 の違いと用途の詳細な説明
IPツールを取得 lombok.extern.slf4j.Slf4j をインポートします。 org....
1. インストールスクリプト(composer-setup.php)を現在のディレクトリにダウンロー...
1. CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します1. 一般的なスタ...
HTML+CSS+JS で Win10 の明るさ調整効果を模倣コード <!doctypehtm...
目次1. クロージャとは何ですか? 1.2 クロージャのメモ化: 関数は定義された環境を記憶する1....
目次1. テスト環境1.1 CentOS 7をインストールする1.2 Docker CE 19.03...
ステップ1. MySQLスロークエリを有効にする方法1: 設定ファイルを変更するWindows: W...
1. 問題を発見する© は HTML の著作権記号ですが、間違ったフォントを選択す...
tcpdump は、ネットワークの問題のトラブルシューティングに効果的に役立つ、柔軟で強力なパケット...
目次Tomcat ダウンロードチュートリアルTomcat インストールチュートリアルTomcat の...
最近私の記事を読んだ人なら誰でも、私が現在WeChatミニプログラムプロジェクトを担当しており、その...
element-uiを使用する場合、el-popoverというよく使われるコンポーネントがありますが...
目次解決された主な問題1. バックエンドから返され、バックエンドに送信されるデータは、次の形式になり...
Yum (フルネームは Yellow dog Updater, Modified) は、Fedora...
この記事の例では、WeChatアプレットマップで使用される具体的な実装コードを参考までに共有していま...