> 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)
目次1. Dockerのセキュリティ問題2. Dockerアーキテクチャの欠陥とセキュリティメカニズ...
前提条件Windows Server でコンテナーを実行するには、Windows Server (半...
序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...
問題の説明私たちのプロジェクトでは、水平方向のテーブルが一般的ですが、必要に応じて垂直方向のテーブル...
CSS3 では、transform 関数を使用して、テキストや画像の回転、拡大縮小、傾斜、移動という...
1. 公式ウェブサイトからMySQLをダウンロードします。 これが私たちが探しているものです、win...
開発環境では、vue プロジェクトは、ローカルで Express サーバーを構築することをベースにし...
実際、この問題は、HTML の select タグを初めて学んだときにすでに発生していました。今日に...
この記事では、宝くじマシンの効果を実現するためのJavaScriptの具体的なコードを参考までに共有...
<br />質問:特定のファイルにジャンプするには、HTML でどのように記述すればよい...
序文この記事では、div の幅を 100% に設定し、親要素を超えてパディングまたはマージンを設定す...
CentOS8 に最小限のデプロイメントで OpenStack Ussuri をインストールするため...
目次一般的な圧縮形式: gz .bz2 .xz .zip一般的に使用されるアーカイブは圧縮を必要とす...
<br />原文: http://blog.rexsong.com/?p=1166ウェブ...
1. mysql/mysql-server:latestイメージを使用してMySQLインスタンスを素...