1. CentOS 7.9 20にDockerをインストールする1. yum-utilsツールをインストールする yum をインストール -y yum-utils 2. Dockerの依存関係ソースを設定する yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 注意: CentOS が yum コマンドを使用して直接インストールする Docker バージョンは 1.13.1 です。これは、古いバージョンの Docker の最後のバージョンであるため、新しいバージョンの Docker-CE (Community Edition) をインストールするにはリポジトリを構成する必要があります。 Docker-EE(エンタープライズエディション)は有料ですが、読者は自分で理解することができます。ここではCEコミュニティエディションを使用します。 3. Dockerをインストールする yum -y で docker-ce をインストールします 4. インストールされているバージョンを確認する ドッカー -v docker バージョン 5. サポート設定のバージョンを確認する yum list インストール済み | grep docker 6. MySQL8イメージを取得する docker プル mysql:8 注: mysql:5.7 は MySQL バージョンが 5.7 であることを意味します。 Dockerイメージを表示 Docker イメージ 2. MySQL クラスターをデプロイする (マスター 1 つとスレーブ 2 つ)1. マスタースレーブMySQL構成とデータファイル保存ディレクトリを作成する # マスターサービスの設定ディレクトリとデータディレクトリを作成します mkdir -p /usr/local/mysqlData/master/cnf mkdir -p /usr/local/mysqlData/master/data # スレーブサーバー1の設定ディレクトリとデータディレクトリを作成します。mkdir -p /usr/local/mysqlData/slave/cnf mkdir -p /usr/local/mysqlData/slave/data # スレーブサーバー2の設定ディレクトリとデータディレクトリを作成します mkdir -p /usr/local/mysqlData/slave2/cnf mkdir -p /usr/local/mysqlData/slave2/data スレーブ サーバー構成を 2 つ作成する理由は、MySQL で構成されたサーバー ID を繰り返すことができないためです。 2. メインサーバーの設定ファイルを設定する vim /usr/local/mysqlData/master/cnf/mysql.cnf 設定ファイルは次のとおりです [mysqld] ## server_id を設定します。一意である必要があることに注意してください。server-id=1 ## バイナリログを有効にする ログ bin = mysql bin ## binlog キャッシュ binlog_cache_size=1M ## binlog 形式 (混合、ステートメント、行、デフォルトの形式はステートメント) binlog_format=混合 ##文字エンコードをutf8mb4に設定する 文字セットサーバー = utf8mb4 照合サーバー = utf8mb4_unicode_ci init_connect = '名前をutf8mb4に設定' [クライアント] デフォルトの文字セット = utf8mb4 [mysql] デフォルトの文字セット = utf8mb4 3. サーバーから設定ファイルを設定する # スレーブサーバー 1 番 vim /usr/local/mysqlData/slave/cnf/mysql.cnf # スレーブサーバー2 vim /usr/local/mysqlData/slave2/cnf/mysql.cnf 設定ファイルは以下のとおりです(1番のサーバIDは2に設定、2番のサーバIDは3に設定、重複は不要) [mysqld] ## server_id を設定します。一意である必要があることに注意してください。server-id=2 ## バイナリログを有効にする ログ bin = mysql スレーブ bin ## relay_log 設定 リレーログ relay_log=edu-mysql-relay-bin ## 関数またはストアドプロシージャを同期する必要がある場合は、log_bin_trust_function_creators=true ## binlog キャッシュ binlog_cache_size=1M ## binlog 形式 (混合、ステートメント、行、デフォルトの形式はステートメント) binlog_format=混合 ##文字エンコードをutf8mb4に設定する 文字セットサーバー = utf8mb4 照合サーバー = utf8mb4_unicode_ci init_connect = '名前をutf8mb4に設定' スレーブスキップエラー=1062 [クライアント] デフォルトの文字セット = utf8mb4 [mysql] デフォルトの文字セット = utf8mb4 4. マスタースレーブMySQLミラーを作成する # マスターサーバーのインスタンス化 docker run -itd -p 3307:3306 --name master -v /usr/local/mysqlData/master/cnf:/etc/mysql/conf.d -v /usr/local/mysqlData/master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8 # スレーブサーバー 1 をインスタンス化します。 docker run -itd -p 3308:3306 --name slaver -v /usr/local/mysqlData/slave/cnf:/etc/mysql/conf.d -v /usr/local/mysqlData/slave/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8 # スレーブサーバー 2 をインスタンス化します。 docker run -itd -p 3309:3306 --name slaver2 -v /usr/local/mysqlData/slave2/cnf:/etc/mysql/conf.d -v /usr/local/mysqlData/slave2/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8 パラメータの説明 -p はコンテナによって公開されるポート、ホスト(物理マシン)ポートを指定します: docker インスタンス ポート -v はストレージボリュームをコンテナにマウントし、コンテナ内のディレクトリにマウントします。 -eはコンテナ内で使用できる環境変数を指定します 5. 作成されたインスタンスを表示する ドッカーps -a 6. MySQL接続ユーザーを作成する # ユーザー reader を作成し、reader にパスワードを設定します 'reader' によって識別されるユーザー reader を作成します。 # リーダー同期権限を付与する GRANT REPLICATION SLAVE ON *.* to 'reader'@'%'; 権限のフラッシュ; 注: 他のユーザーの場合、リモート接続設定は自己設定されます 7. メインサーバーの接続情報を取得する #MySQL 接続情報 SHOW MASTER STATUS; #docker でマスターインスタンスのアドレスを取得するために新しい接続を開きます。inspect --format='{{.NetworkSettings.IPAddress}}' master スレーブサーバーはマスターサーバーに接続します(両方のスレーブサーバーが次の操作を実行します) # 接続パラメータを設定します。master を master_host='172.17.0.2',master_user='reader',master_password='reader',master_log_file='mysql-bin.000003',master_log_pos=2259 に変更します。 # 同期を開始します。start slave; # 成功したかどうかを確認します show slave status\G # 両方とも「はい」の場合、成功を意味します。 # スレーブIO実行中: はい # スレーブSQL実行中: はい # 失敗した場合は、接続を停止し、他のアカウントのパスワード、アドレス、POS、およびその他のパラメータを確認する必要があります。# 接続を停止します。一度成功した場合は、stop slave コマンドを使用する必要はありません。 3. 結果メインサーバーはコマンドを実行する スレーブホストを表示します。 2 つのスレーブ サーバーの ID とポートは、マスター サーバーから照会できます。 MySQL の展開を完了します。 これで、MySQL8 クラスター (マスター 1 台とスレーブ 2 台) の Docker デプロイメントの実装手順に関するこの記事は終了です。MySQL8 クラスターの Docker デプロイメントに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS3 で @media を使用して Web ページの適応を実現するためのサンプル コード
>>: ウェブデザインのためのオンライン開発ツール10選の紹介
目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. 準備2. 梱包を開始する...
目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...
目次序文:詳しい紹介:練習する:要約する序文: Python、Java、Cシリーズなど、すべての主要...
目次概要コンポーネントクラスの型定義を作成するジェネリック型を使用してPropsとStateを定義す...
目次概要node.js でマルチコア CPU を最大限に活用する方法Node で子プロセスを作成する...
私は最近countlyに触れて、慣れてきました。私は、必要に応じてcountlyのクラッシュプラグイ...
vueチャットボックスで絵文字を送信し、vueインターフェースで絵文字を送信するための具体的なコード...
この記事の例では、参考までに簡単なカウントダウンを実装するためのjsの具体的なコードを共有しています...
カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...
目次1. 縦方向のスライス1.1 垂直データベース1.2 垂直テーブル分割2. 水平(横断)セグメン...
まず、例を見てみましょう。記事テーブルにはタイプフィールドがあり、1 見出し、2 おすすめ、3 ホッ...
Linux システムの bash history コマンドは、以前に実行したコマンドを記憶し、再入力...
Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...
はじめに<br />前回の記事「私の CSS アーキテクチャ コンセプト」では、公園で友...
導入MySQL はレプリケーションを通じてストレージ システムの高可用性を実現します。現在、MySQ...