序文 この記事では、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 の違いと用途の詳細な説明
背景webpackのバージョンを確認したいのですが、webpack -vを実行するとエラーが報告され...
<br />友人と話し合っていたとき、フレームワークのレイヤー設計の中で最も核となるのは...
データベースでcreate tableステートメントを実行する テーブル `sys_acl` を作成...
目次1.同時アクセス制御2. 取引1. トランザクションは ACID 原則に従います。 2. トラン...
MySQL 5.7.18 のインストールと問題の概要。今日、新しい MySQL サーバーを導入しまし...
さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!DOCTYPE htm...
ネットワークの問題のトラブルシューティング、新しい接続のセットアップ、ファイアウォールの構成を行うと...
1. ユーザーを作成して承認するMySQL 8.0 では、ユーザーの作成と認証が以前とは異なります...
以前、テーブル結合クエリを書いていたとき、whereとonの違いがわからず、SQLに小さな問題が発生...
Web ページのパフォーマンスを向上させるにはどうすればよいでしょうか?ほとんどの開発者は、Java...
目次マスタースレーブレプリケーションメカニズム非同期レプリケーション準同期レプリケーションマスタース...
展開環境:インストールバージョン Red Hat Cent 7.0 MYSQL バージョン 8.0....
この記事の例では、VUEコンポーネントに基づいて都市リストエフェクトを実装するための具体的なコードを...
DIV+css構造 CSSレイアウトを学んでいますか?まだ純粋な CSS レイアウトを完全に習得でき...
背景ディープラーニング モデルの推論には、特定のデバイスが使用されます。マシンは、モデルの読み込み、...