画像をダウンロードMySQLイメージの選択 docker 検索 mysql MySQL 5.7 イメージをダウンロード docker プル mysql:5.7 mysql イメージを表示 Docker イメージ MySQLマスタースレーブを構築するマスター docker run --name mysql-master -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 奴隷 docker run --name mysql-slave -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 マスターによって外部にマップされるポート番号は3307で、スレーブによって外部にマップされるポート番号は3308です。 コンテナを表示 ドッカーps 接続テスト マスターの設定コンテナに入るには次の 2 つの方法があります。 docker exec -it 1b166e12ad6b /bin/bash #1b166e12ad6bはコンテナIDです docker exec -it mysql-master /bin/bash #mysql-masterはコンテナ名です /etc/mysql/my.cnf設定ファイルを変更する テキストエディタで /etc/mysql/my.cnf を開きます。 vimコマンドが見つかりませんでした。docker内にvimツールをインストールしてください。vimをインストールするには、次の2つのコマンドを入力してください。 apt-getアップデート apt-get で vim をインストール インストールが完了したら、my.cnf設定ファイルを変更します。 テキストエディタで /etc/mysql/my.cnf を開きます。 [mysqld] ## server-id=100 は同じ LAN 内で一意である必要があります。 ## バイナリログ機能を有効にすると、任意のログ(キー)を取得できます ログビン=マスタービン binlog-format=ROW // バイナリログ形式。行、ステートメント、混合の 3 種類があります。 設定後、MySQLを再起動します。 サービスmysqlの再起動 再起動するとDockerコンテナが停止します。コンテナを再起動するには次のコマンドを使用します。 ドッカーps -a docker で MySQL マスターを起動します データベース同期アカウントを作成する mysql-masterコンテナに入る docker exec -it 1b166e12ad6b /bin/bash MySQLにログインし、スレーブホストの同期アカウントを承認します。 mysql -uroot -p123456 '123456' によって識別されるユーザー 'slave'@'%' を作成します。 *.* のレプリケーション スレーブ、レプリケーション クライアントを 'slave'@'%' に付与します。 この時点でマスター構成は完了です 奴隷 マスターと同様のコマンドを使用してコンテナに入ります docker exec -it mysql-slave /bin/bash my.cnf設定ファイルを変更し、vimコマンドをインストールすることを忘れないでください テキストエディタで /etc/mysql/my.cnf を開きます。 [mysqld] ## server_id を設定します。一意である必要があることに注意してください。server-id=101 ## スレーブが他のスレーブのマスターとして使用される場合にバイナリログを有効にする log-bin=mysql-slave-bin ## relay_log 設定 リレーログ relay_log=mysql-relay-bin read_only=1 ## 読み取り専用に設定します。この項目が設定されていない場合、スレーブは読み取りと書き込みが可能です。 MySQLを再起動する サービスmysqlの再起動 コンテナを起動する docker で MySQL スレーブを起動する マスタースレーブレプリケーションを有効にするまず、2つのターミナルを開き、マスターコンテナとスレーブコンテナに入り、MySQLを入力します。 mysql-master 操作 mysql -uroot -p123456 マスターステータスを表示します。 mysql-スレーブ操作 注: master_log_file='', master_log_pos= をマスターマシンで表示した結果に変更することを忘れないでください。 mysql -uroot -p123456 マスターを、master_host='10.0.3.2'、master_user='slave'、master_password='123456'、master_port=3307、master_log_file='master-bin.000001'、master_log_pos=617 に変更します。 スレーブを起動します。 スレーブステータスを表示 \G; テスト成功mysql-master 操作 データベース dockertest を作成します。 mysql-スレーブ操作 マスター上に作成されたデータベースがスレーブ上に表示され、成功が証明されます。 記事参照リンク 詳しい情報については、 これで、Docker で MySQL をマスターとスレーブとしてデプロイする方法についての記事は終了です。Docker で MySQL をデプロイする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Webデザインの経験:ナビゲーションシステムをシンプルにする
問題の説明MySQL の起動時にエラーが報告されます。エラー ログを確認してください。 [エラー] ...
1. 水平中央公開コード: html: <div class="parent&quo...
目次オブザーバーパターンとは何ですか?シナリオシミュレーションコードの実装コードのリファクタリング要...
この記事の例では、カルーセルのフレームレート再生を実現するためのVueの具体的なコードを参考までに共...
目次序文プレビュー文章グラフィックコンポーネントプロパティ機能グリッドを描く軸角度を計算するスケール...
プロジェクトをリリースするときに、キャッシュをクリーンアップする必要があるという問題に遭遇することが...
目次序文場合最適化まとめ序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク ...
序文MySQL データのインポートとエクスポートは mysqldump コマンドで解決できることは誰...
港Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するための...
解決すべき問題主にコンポーネント間のクロスレベル通信用なぜディスパッチとブロードキャストを自分で実装...
1. マックヴラン前回のブログ投稿で紹介した Docker コンテナのホスト間通信を実現するための ...
webpack-dev-server コアコンセプトWebpack の ContentBase と ...
1. Linux で Selenium を使用する1. Chromeをインストールする次のコマンドを...
MySQL 認証コマンド grant の使用方法:この記事の例は MySQL 5.0 以降で実行され...
セルデルとは何かuserdel は、ユーザーを削除するための低レベルのツールです。 Debian で...