> MySQL 5.7 クラスタ マスターとスレーブをデプロイする (テストのみ) イメージバージョン 5.7 1. オーバーレイネットワークを作成する docker ネットワーク作成 --driver オーバーレイ common-network --attachable 2. 2つの設定ファイルmaster.cnfとslave.cnfを編集します。 !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [mysqld] ログ bin = mysql bin サーバーID=1 gtidモード=オン 強制GTID一貫性=ON !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [mysqld] サーバーID=2 gtidモード=オン 強制GTID一貫性=ON 3. 2つのMYSQLを起動します: mysql-master、mysql-slave docker run -d \ --name mysql-master \ --network 共通ネットワーク \ -e MYSQL_ROOT_PASSWORD=パスワード\ -v `pwd`/master.cnf:/etc/mysql/my.cnf \ -p 3306:3306 \ -d MySQL:5.7 docker run -d \ --name mysql-スレーブ \ --network 共通ネットワーク \ -e MYSQL_ROOT_PASSWORD=パスワード\ -v `pwd`/slave.cnf:/etc/mysql/my.cnf \ -p 3307:3306 \ -d MySQL:5.7 4. レプリケーションのためにライブラリからユーザーを追加する docker run -it --rm --network common-network mysql mysql -hmysql-master -uroot -pPassw0rd \ -e "'password' で識別されるユーザー 'repl'@'%' を作成します。SSL が必要です。" \ -e "*.* のレプリケーションスレーブを 'repl'@'%' に付与します。" 5. マスターとスレーブを接続する docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "マスターを MASTER_HOST='mysql-master'、MASTER_PORT=3306、MASTER_USER='repl'、MASTER_PASSWORD='password'、MASTER_AUTO_POSITION=1、MASTER_SSL=1 に変更します。" \ -e "スレーブを起動します。" 6. スレーブステータスを確認する docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd -e "スレーブステータスを表示\G" 次のステータスは正常です: スレーブIO実行中: はい スレーブSQL実行中: はい > MySQL 8.0 クラスタ マスターとスレーブをデプロイする (テストのみ) ミラーバージョン mysql:8.0 1. オーバーレイネットワークを作成する docker ネットワーク作成 --driver オーバーレイ common-network --attachable 2. 2つのMYSQLを起動します: mysql-master、mysql-slave docker run -d \ --name mysql-master \ --network 共通ネットワーク \ -e MYSQL_ROOT_PASSWORD=パスワード\ -p 3306:3306 \ -d mysql --default-authentication-plugin=mysql_native_password docker run -d \ --name mysql-スレーブ \ --network 共通ネットワーク \ -e MYSQL_ROOT_PASSWORD=パスワード\ -p 3307:3306 \ -d mysql --default-authentication-plugin=mysql_native_password 3. マスターとスレーブを構成する docker run -it --rm --network common-network mysql mysql -hmysql-master -uroot -pPassw0rd \ -e "SET PERSIST server_id=1;" \ -e "PERSIST_ONLY gtid_mode=ON に設定します。" \ -e "PERSIST_ONLY にenforce_gtid_consistency=true を設定します。" \ -e "'password' で識別されるユーザー 'repl'@'%' を作成します。SSL が必要です。" \ -e "*.* のレプリケーションスレーブを 'repl'@'%' に付与します。" docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "SET PERSIST server_id=2;" \ -e "PERSIST_ONLY gtid_mode=ON に設定します。" \ -e "PERSIST_ONLY にenforce_gtid_consistency=true を設定します。" 4. マスターとスレーブを再起動する docker 再起動 mysql-master mysql-slave 5. マスターとスレーブを接続する docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "マスターを MASTER_HOST='mysql-master'、MASTER_PORT=3306、MASTER_USER='repl'、MASTER_PASSWORD='password'、MASTER_AUTO_POSITION=1、MASTER_SSL=1 に変更します。" \ -e "スレーブを起動します。" 6. スレーブステータスを確認する docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd -e "スレーブステータスを表示\G" 次のステータスは正常です: スレーブIO実行中: はい スレーブSQL実行中: はい > データ同期を確認する マスターにデータベースanoyiを作成する docker run -it --rm --network common-network mysql mysql -hmysql-master -uroot -pPassw0rd \ -e "データベース anoyi を作成、デフォルトの文字セットは utf8mb4、照合は utf8mb4_general_ci です。" スレーブ上のデータベースリストを表示する docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "データベースを表示" mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 +--------------------+ | データベース | +--------------------+ |アノイ| | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| +--------------------+ 関連情報: MySQL 5.7: https://dev.mysql.com/doc/refman/5.7/en/replication.html 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: 史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 36)
序文この記事では、山括弧のその他の用途をさらに詳しく見ていきます。前回の記事では、山括弧 (<...
要素までスクロールするたびに読み込みアニメーションを追加するにはどうすればよいですか?初期パラメータ...
出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...
Linux では、ハードディスクの追加やパーティションの再マウントといった状況に頻繁に遭遇します。こ...
1pxの線が太くなる理由モバイルプロジェクトに取り組むとき、設計図に従って要素ノードのサイズとスタイ...
SQL は、データを特定の順序で並べ替え、特定のフィールドでグループ化した後、隣接する 2 つのデ...
目次0. システムに付属するカーネルツリー1. 環境設定最初のステップステップ2 2. ソースコード...
MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...
idea 開発ツールを使用してコードをデバッグする場合、Java Web プロジェクトで、Web コ...
シェルスクリプト #!/bin/sh # 現在のディレクトリ CURRENT_DIR=$( cd &...
カルーセルとは何ですか?カルーセル: モジュールまたはウィンドウで、コンピューターでマウスをクリック...
これは新しいバージョンではもう不可能なようで、推奨されません。そうでない場合は、ソフト リンクを直接...
この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...
純粋なCSS3で蝶が羽ばたく様子を再現。まずはその効果をご覧ください どうですか?効果はかなりいいで...
ウェブサイト管理者は、さまざまな理由や操作により、ウェブサイトのデータを誤って削除したり、ウェブサイ...