システム環境:
1. Redis クラスターモードとはRedis クラスター モードは、Redis 3.0 バージョン以降に正式にリリースされました。このモードは、Redis の分散ソリューションです。複数の Redis ノード間でデータ共有を提供するプログラム セットです。Redis クラスターは分散化されています。各マスター ノードはデータを読み書きできます。各ノードは対等な関係にあり、各ノードは独自のデータとクラスター全体のステータスを維持します。 Redis クラスター設計の主な目的は、Redis データ ストレージを線形に拡張し、パーティショニングによって一定の可用性を提供することです。実際の環境では、ノードがダウンしたり、到達不能になったりしても、コマンドの処理を継続できます。ただし、重大な障害が発生した場合 (たとえば、マスター ステーションのほとんどが使用できない場合)、クラスターは実行を停止します。つまり、Redis クラスターはデータの強力な一貫性を保証できません。 2. Redis クラスターが必要な理由
3. Redis クラスターのデータシャーディングRedis クラスターは一貫性ハッシュを使用しませんが、「ハッシュ スロット」の概念を導入します。 Redis クラスターには 16384 個のハッシュ スロットがあります。各キーは CRC16 でチェックされ、16384 を法としてどのスロットに配置するかが決定されます。クラスター内の各ノードはハッシュ スロットの一部を担当します。 たとえば、現在のクラスターに 3 つのノードがある場合は、次のようになります。
この構造により、ノードの「追加」や「削除」が簡単になります。たとえば、新しいノード D を追加する場合は、ノード A、B、C からノード D にいくつかのスロットを転送する必要があります。ノード A を削除する場合は、A のスロットをノード B と C に移動し、スロットのないノード A をクラスターから削除する必要があります。ハッシュ スロットをあるノードから別のノードに移動してもサービスは停止しないため、ノード上のハッシュ スロットの数を追加、削除、または変更しても、クラスターが使用できなくなることはありません。 Redis は複数のキー操作をサポートしており、これらのキーが単一のコマンド (またはトランザクション、または Lua スクリプトの実行) で実行される限り、それらは同じハッシュ スロットに属します。ハッシュ タグ コマンドを使用して、複数のキーを同じハッシュ スロットに強制的に配置することもできます。 4. Redisクラスタのマスタースレーブレプリケーションクラスター内のマスタースレーブモデル Redis クラスター モードでは、ダウンタイムによりクラスター内の一部のノードが使用できなくなるのを防ぐために、Redis クラスターはマスター/スレーブ レプリケーション モードを使用します。このモードでは、Redis クラスターには少なくとも 6 つのノードが必要であり、そのうち 3 つは外部の読み取りと書き込みを提供できるマスター ノードです。スレーブ ノードであるノードも 3 つあり、対応するマスター ノードのデータを同期します。マスターノードに問題が発生して使用できなくなった場合、Redis は選出アルゴリズムを通じてマスターノードに対応するスレーブノードからノードを選択し (マスターノードに複数のスレーブノードがある場合)、それを新しいマスターノードに変更して、外部にサービスを提供できるようにします。 たとえば、マスター ノード A、B、C の 3 つと、それに対応するスレーブ ノード (A1、A2)、(B1、B2)、(C1、C2) の 6 つがあり、合計 9 つのノードがあるとします。ノード A に障害が発生すると、対応するスレーブ ノード A1 と A2 は選出アルゴリズムを使用して、マスター ノードに昇格するノードを 1 つ選択し、クラスターが通常のサービスを提供できるようにします。ただし、2 つのスレーブ ノード A1 と A2、またはマスター ノードの半数以上が使用できない場合は、クラスターも使用できなくなります。
マスタースレーブレプリケーションの関連概念(1)完全レプリケーションと増分レプリケーション Redis マスタースレーブ レプリケーションには、「完全レプリケーション」と「増分レプリケーション」という 2 つのデータ同期方法があります。
(2)コピー位置のオフセットを記録する
(3)バックログバッファをコピーする レプリケーション バックログ バッファは、マスター ノードに保存される固定長のキューです。デフォルト サイズは 1MB です。マスター ノードにスレーブ ノードが接続されている場合、このキューが作成されます。マスター ノードが書き込みコマンドに応答すると、コマンドをスレーブ ノードに送信するだけでなく、書き込みコマンドのバックアップとしてレプリケーション バックログ バッファに書き込みます。 書き込みコマンドの保存に加えて、レプリケーション バックログ バッファには、バッファ内の各バイトに対応するレプリケーション オフセットも保存されます。レプリケーション バックログ バッファは固定長で先入れ先出し方式であるため、プライマリ ノードによって最後に実行された書き込みコマンドが格納され、古い書き込みコマンドはバッファから削除されます。 (4)ノード実行ID
マスタースレーブレプリケーションの実行プロセス(1)psyncコマンド スレーブ ノードは psync を使用して、マスター ノードから runid とオフセットを取得します。 マスター ノードは、自身の状況に基づいて応答メッセージを返します。完全なレプリケーションをトリガーする場合は FULLRESYNC runid オフセット、増分レプリケーションをトリガーする場合は CONTINUE になります。 (2)psyncは完全なレプリケーションをトリガーする スレーブ ノードは psync コマンドを使用して部分的なレプリケーションと完全なレプリケーション機能を実行します。 スレーブ ノードがマスター ノードに初めて接続すると、完全なコピーが実行されます。 ①スレーブノードはpsync? - 1コマンドを送信し、マスターにデータ同期の実行を要求することを示します。 ② マスターはオフセットがなく、レプリケーションを実行するのは初めてであることを検出します。フルレプリケーションを実行し、FULLRESYNC {runid} {offset}コマンドを送信して、runidとオフセットをスレーブノードに送信します。 ③スレーブノードはマスターノードから送信されたrunidとオフセット情報を保存します。 ④ マスターノードはbgsaveを実行してRBDスナップショットファイルを生成し、バッファを使用して今後実行されるすべてのコマンドを記録します。 ⑤ マスターノードはRBDファイルをスレーブノードに送信します。 ⑥マスターノードはBUFFERバッファ領域に記録された書き込みコマンドをスレーブノードに送信します。 ⑦スレーブノードは古いデータをクリアします。 ⑧スレーブノードはマスターノードから渡されたRBDファイルをロードします。 (2)psyncは増分レプリケーションをトリガーする スレーブ ノードがマスター ノードから切断されると、スレーブ ノードはマスター ノードに再接続し、増分レプリケーションがトリガーされます。プロセスは次のとおりです。 ①スレーブノードはpsyncを使用してrunidとオフセット値を送信します。 ② マスターノードはスレーブノードから送信されたrunidが自身のものと同じかどうかを確認します。
③ 対応するオフセット条件が満たされた後、バッファ内のオフセット値がスレーブノードから送信されたオフセットと同じかどうかを確認します。
④マスターノードは、スレーブノードから送信されたオフセットからマスターノードのバッファに記録されたオフセットまでのデータをレプリケーションバッファからコピーし、この範囲のデータをスレーブノードに渡します。 5. Redis クラスター関連の概念Redis クラスターの一貫性Redis の公式ドキュメントには、強力なデータ一貫性を保証できない、つまり、Redis クラスターに書き込まれたデータが特定の条件下で失われる可能性があると記載されています。主な理由は、Redis クラスターが非同期レプリケーション モードを使用していることです。書き込みプロセスは次のとおりです。 実行順序は次のとおりです。 ① クライアントは任意のマスターノードにコマンドを書き込みます。 ② マスターノードはコマンド実行のステータスをクライアントに応答します。 ③マスターノードは書き込み操作コマンドをスレーブノードに渡します。 Redis クラスターは、パフォーマンスと一貫性のバランスをとっています。マスター ノードは、クライアントの書き込みコマンドを受信した後、実行されたコマンドを各スレーブ ノードに送信して同期するように設定されています。このプロセスは非同期操作であり、マスター ノードはスレーブ ノードの応答を待たずに、クライアント コマンドの実行ステータスにすぐに応答します。このように同期操作を減らすことで、システムの実行速度が大幅に向上し、スレーブ ノードがメッセージに応答するのを待つプロセスがシステム パフォーマンスのボトルネックになることを回避できます。 ただし、マスターノードは情報を受信した後、スレーブノードからの応答を待たずにコマンド実行ステータスをクライアントに応答するため、ノードに問題が発生するとデータ損失が発生する可能性があります。たとえば、クライアントがマスターノードにコマンドを送信し、マスターノードがデータバックアップのためにそのコマンドを非同期的にスレーブノードに送信し、その後すぐにコマンド実行ステータスをクライアントに応答します。このプロセス中に、マスターノードに問題が発生してクラッシュし、スレーブノードでもマスターノードから送信された同期データを処理する際にエラーが発生します。この時点でマスター ノードがダウンしているか使用できない場合は、スレーブ ノードが新しいマスター ノードに変換され、以前のマスター ノードで実行されたコマンドは失われます。 Redis クラスタ間通信メカニズムRedis クラスターでは、データ ノードが 2 つの TCP ポートを提供します。ファイアウォールを構成するときは、次の 2 種類のポートを同時に開く必要があります。
クラスター内のノード間の通信には、ゴシッププロトコルが使用されます。ノードは、一定の頻度(10回/秒)でスケジュールされたタスクに基づいて判断を行います。ノードの追加や削除、スロットステータスの変更など、クラスターの状態が変化すると、ノード間の通信を通じてクラスターの状態が同期され、クラスターが収束します。クラスター間で送信されるゴシップ メッセージには 5 つの種類があります。
Redis クラスターの障害ステータスまた、Redis クラスター モードでは、クラスターの可用性を 100% 保証することはできません。予期しないイベントが発生すると、Redis クラスターは障害状態になり、その場合、Redis クラスターは正常にサービスを提供できなくなります。障害状態に入る条件は主に次のとおりです。 ① すべてのノードがダウンした場合、クラスターは障害状態になります。 ② マスターノードの半数以上が利用できない場合、クラスターは障害状態になります。 ③ いずれかのマスターノードに障害が発生し、そのマスターノードに対応するスレーブノードがない場合、またはすべてのスレーブノードに障害が発生した場合、クラスターは障害状態になります。 Redis クラスターの再シャーディングメカニズムRedis クラスターの再シャーディング (ノードの追加/削除) メカニズム: 新しいノードを追加する: 他のノードからいくつかのスロットを新しいノードに割り当てます ノードの削除: ノードのスロットを削除し、別のノードに割り当てます ただし、これらの操作は手動で行う必要があり、サーバーを停止せずに実行できます。 Redis クラスターの欠点レプリケーション構造はツリー構造ではなく、単層構造のみをサポートします。 複数のデータベースはサポートされていません。データベース 0 のみを使用して、select 0 コマンドを実行することができます。 キーは、データ パーティションの最小粒度です。大きなキーと値のペアを異なるノードにマップすることはできません。 キー トランザクションのサポートは制限されています。複数のキーが異なるノードに分散されている場合、トランザクションは使用できません。トランザクションは同じノードでのみサポートされます。 mset コマンドや mget コマンドなどのバッチ キー操作のサポートは制限されています。複数のキーが異なるスロットにマップされている場合、これらのコマンドは正常に使用できません。 Redis クラスター構成パラメータサンプル クラスターのデプロイメントを作成します。先に進む前に、Redis Cluster が redis.conf ファイルに導入する構成パラメータについて説明します。 cluster-config-file: Redis クラスターの構成情報とステータスの保存場所を設定します。このファイルは Redis クラスターによって生成され、保存場所のみを指定できます。 cluster-node-timeout: Redis クラスター ノードの通信タイムアウトを設定します。 cluster-migration-barrier:マスターノードに必要なスレーブノードの最小数。この数に達した場合にのみ、マスターノードに障害が発生したときにスレーブノードが移行します。 cluster-enabled: Redis クラスター モードを有効にするかどうか。 yes: Redis クラスターを有効にします。 no: クラスター モードを有効にしません。 cluster-require-full-coverage:クラスターの可用性を設定します。 yes: スロットを担当するマスター ライブラリがオフラインになり、障害回復を実行するための対応するスレーブ ライブラリがない場合、クラスターは使用できないことを示します。この状況は以下に示されます。 no: スロットを担当するマスター ライブラリがオフラインになり、障害回復を実行するための対応するスレーブ ライブラリがない場合でも、クラスターは引き続き使用可能であることを示します。この状況は、以下に示されます。 クラスタースレーブの有効係数: 0: スレーブ ノードがマスター ノードとの接続をどれだけ長く失っても、スレーブ ノードはマスター ノードへのアップグレードを試みます。 正の数: 6. DockerでRedisクラスタをデプロイする1. Redis デプロイメントマシンの割り当てここでは、デプロイする Redis クラスターのノードを割り当て、それらを異なるマシンにデプロイします。配置は次のようになります。 2. データ保存ディレクトリを作成するRedis 設定ファイルと永続データを保存するためのディレクトリを事前に作成します。 最初のサーバー $ mkdir -p /var/lib/redis/7000 および mkdir -p /var/lib/redis/7003 2 番目のサーバー $ mkdir -p /var/lib/redis/7001 および mkdir -p /var/lib/redis/7004 3 番目のサーバー $ mkdir -p /var/lib/redis/7002 および mkdir -p /var/lib/redis/7005 3. Redis設定ファイルを作成する最初のサーバー ## 7000 ポート設定ファイル $ cat > /var/lib/redis/7000/redis.conf << EOF ポート 7000 クラスタ対応 はい クラスター構成ファイル nodes.conf クラスターノードタイムアウト 5000 追加のみ はい 悪魔化する 保護モードなし pidファイル /data/redis.pid 終了 ## 7003 ポート設定ファイル $ cat > /var/lib/redis/7003/redis.conf << EOF ポート 7003 クラスタ対応 はい クラスター構成ファイル nodes.conf クラスターノードタイムアウト 5000 追加のみ はい 悪魔化する 保護モードなし pidファイル /data/redis.pid 終了 2番目のサーバー ## 7001 ポートの設定: redis.conf $ cat > /var/lib/redis/7001/redis.conf << EOF ポート 7001 クラスタ対応 はい クラスター構成ファイル nodes.conf クラスターノードタイムアウト 5000 追加のみ はい 悪魔化する 保護モードなし pidファイル /data/redis.pid 終了 ## 7004 ポートの設定: redis-7004.conf $ cat > /var/lib/redis/7004/redis.conf << EOF ポート 7004 クラスタ対応 はい クラスター構成ファイル nodes.conf クラスターノードタイムアウト 5000 追加のみ はい 悪魔化する 保護モードなし pidファイル /data/redis.pid 終了 3番目のサーバー ## 7002 ポートの設定: redis-7002.conf $ cat > /var/lib/redis/7002/redis.conf << EOF ポート 7002 クラスタ対応 はい クラスター構成ファイル nodes.conf クラスターノードタイムアウト 5000 追加のみ はい 悪魔化する 保護モードなし pidファイル /data/redis.pid 終了 ## 7005 ポートの設定: redis-7005.conf $ cat > /var/lib/redis/7005/redis.conf << EOF ポート 7005 クラスタ対応 はい クラスター構成ファイル nodes.conf クラスターノードタイムアウト 5000 追加のみ はい 悪魔化する 保護モードなし pidファイル /data/redis.pid 終了 4. 事前にRedisイメージをプルする実行中にイメージをプルする必要がないよう、3 つのサーバーから事前に Redis イメージをプルして、操作が遅くならないようにしておきます。 $ docker pull redis:6.0.8 5. Redisイメージを実行して起動する3 つのサーバーは Docker run コマンドを実行して Redis イメージを起動します。ここで注意すべき点は、異なるサーバー上の Docker は相互に通信できないため、ここでは起動したコンテナーのネットワーク モードをホスト モードに設定し、コンテナーが仮想ネットワーク カードを作成せず、ホストのネットワークを使用するようにします。
最初のサーバー ## ポート7000でRedisイメージを実行する $ docker run -d -v /var/lib/redis/7000:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=常に\ --net ホスト \ --name redis-7000 \ redis:6.0.8 redis-server /data/redis.conf ## ポート7003でRedisイメージを実行する $ docker run -d -v /var/lib/redis/7003:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=常に\ --net ホスト \ --name redis-7003 \ redis:6.0.8 redis-server /data/redis.conf 2番目のサーバー ## ポート7001でRedisイメージを実行する $ docker run -d -v /var/lib/redis/7001:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=常に\ --net ホスト \ --name redis-7001 \ redis:6.0.8 redis-server /data/redis.conf ## ポート7004でRedisイメージを実行する $ docker run -d -v /var/lib/redis/7004:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=常に\ --net ホスト \ --name redis-7004 \ redis:6.0.8 redis-server /data/redis.conf 3 番目のサーバー ## ポート7002でRedisイメージを実行する $ docker run -d -v /var/lib/redis/7002:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=常に\ --net ホスト \ --name redis-7002 \ redis:6.0.8 redis-server /data/redis.conf ## ポート7005でRedisイメージを実行する $ docker run -d -v /var/lib/redis/7005:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=常に\ --net ホスト \ --name redis-7005 \ redis:6.0.8 redis-server /data/redis.conf 6. Redisクラスターを作成する任意のサーバーをランダムに入力し、Redis イメージの redis-cli ツールを使用して create cluster コマンドを実行し、各 Redis をクラスターにします。ここでは、最初のサーバー -p: Redis に接続するポートを指定します。 create: Redis クラスターを作成します。 --cluster: Redis クラスター モード コマンドを使用します。 --cluster-replicas: レプリカの数 (スレーブ数) を指定します。 $ docker exec -it redis-7000 \ redis-cli -p 7000 --cluster を作成 \ 192.168.2.11:7000 192.168.2.12:7001 192.168.2.13:7002 \ 192.168.2.11:7003 192.168.2.12:7004 192.168.2.13:7005 \ --クラスタレプリカ1 すると、次の情報が表示されます。 >>> 6 つのノードでハッシュ スロットの割り当てを実行しています... マスター[0] -> スロット0 - 5460 マスター[1] -> スロット5461 - 10922 マスター[2] -> スロット 10923 - 16383 レプリカ 192.168.2.12:7004 を 192.168.2.11:7000 に追加 レプリカ 192.168.2.13:7005 を 192.168.2.12:7001 に追加 レプリカ 192.168.2.11:7003 を 192.168.2.13:7002 に追加 5e50824c55d4df42db4d2987796f0c0b468c273f 192.168.2.11:7000 スロット:[0-5460] (5461スロット) マスター 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 192.168.2.12:7001 スロット:[5461-10922] (5462スロット) マスター 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 192.168.2.13:7002 です スロット:[10923-16383] (5461 スロット) マスター 42d6e3979395ba93cd1352b6d17044f6b25d9379 192.168.2.11:7003 0cc1aaf960defae7332e9256dd25ee5e5c99e65f を複製します ac5d34b57a8f73dabc60d3a56469055ec64fcde7 192.168.2.12:7004 5e50824c55d4df42db4d2987796f0c0b468c273f を複製します 470b7ff823f10a309fb07311097456210506f6d8 192.168.2.13:7005 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 を複製する 上記の設定を行えますか? (同意する場合は「はい」と入力してください): はい >>> ノード構成が更新されました >>> 各ノードに異なる構成エポックを割り当てる >>> クラスターに参加するためにCLUSTER MEETメッセージを送信する クラスターの参加を待機中 。 >>> クラスター チェックを実行しています (ノード 192.168.2.11:7000 を使用) 5e50824c55d4df42db4d2987796f0c0b468c273f 192.168.2.11:7000 スロット:[0-5460] (5461スロット) マスター 追加のレプリカ 1 個 470b7ff823f10a309fb07311097456210506f6d8 192.168.2.13:7005 スロット: (0 スロット) スレーブ 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 を複製する 42d6e3979395ba93cd1352b6d17044f6b25d9379 192.168.2.11:7003 スロット: (0 スロット) スレーブ 0cc1aaf960defae7332e9256dd25ee5e5c99e65f を複製します ac5d34b57a8f73dabc60d3a56469055ec64fcde7 192.168.2.12:7004 スロット: (0 スロット) スレーブ 5e50824c55d4df42db4d2987796f0c0b468c273f を複製します 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 192.168.2.13:7002 です スロット:[10923-16383] (5461 スロット) マスター 追加のレプリカ 1 個 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 192.168.2.12:7001 スロット:[5461-10922] (5462スロット) マスター 追加のレプリカ 1 個 [OK] すべてのノードがスロット構成に同意します。 >>> 空きスロットがあるか確認します... >>> スロットのカバレッジを確認してください... [OK] 16384 スロットすべてがカバーされました。 7. クラスター情報を表示するRedis イメージを入力し、redis-cli コマンドを実行します。 -p: Redis に接続するエンドポイントを指定します。 -c: クラスター モードを使用します。 $ docker exec -it redis-7000 redis-cli -p 7000 -c クラスター情報を表示します。 > クラスター情報 クラスター状態:正常 割り当てられたクラスタースロット:16384 クラスタースロットOK:16384 クラスタースロットp失敗:0 クラスタースロット失敗:0 クラスターの既知のノード:6 クラスターサイズ:3 クラスター現在のエポック:6 クラスター_マイ_エポック:1 クラスター統計メッセージping送信:866 クラスター統計メッセージ送信:854 クラスター統計メッセージ送信数:1720 クラスター統計メッセージping受信:849 クラスター統計メッセージ受信数:866 クラスター統計メッセージ会議受信数:5 クラスター統計受信メッセージ:1720 クラスター ノード情報を表示します。 > クラスターノード 470b7ff823f10a309fb07311097456210506f6d8 192.168.2.13:7005@17005 スレーブ 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 0 1600267217000 2 台接続 42d6e3979395ba93cd1352b6d17044f6b25d9379 192.168.2.11:7003@17003 スレーブ 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 0 1600267218171 3 台接続 ac5d34b57a8f73dabc60d3a56469055ec64fcde7 192.168.2.12:7004@17004 スレーブ 5e50824c55d4df42db4d2987796f0c0b468c273f 0 1600267216161 1 接続済み 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 192.168.2.13:7002@17002 マスター - 0 1600267218070 3 接続 10923-16383 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 192.168.2.12:7001@17001 マスター - 0 1600267217163 2 接続 5461-10922 5e50824c55d4df42db4d2987796f0c0b468c273f 192.168.2.11:7000@17000 自分、マスター - 0 1600267217000 1 接続 0-5460 参照アドレス: http://www.redis.cn/topics/cluster-tutorial.html http://www.redis.cn/topics/cluster-spec.html https://jasonkayzk.github.io https://www.cnblogs.com/kevingrace/p/5685332.html これで、Docker 経由で Redis 6.x クラスターをデプロイする方法に関するこの記事は終了です。Docker を使用した Redis 6.x クラスターのデプロイの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: 「さらに表示」ボタンによる複数行テキストの切り捨てに関する考察
追加するdocker run -it -name test -d nginx:latest /bin...
目次概要環境の準備プロジェクトのパフォーマンスに影響を与える要因遅延読み込みとは何ですか?プロジェク...
MySQL 5.7.18 のインストールと問題の概要。今日、新しい MySQL サーバーを導入しまし...
FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...
目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...
sed は Unix の文字ストリーム エディタ、つまりストリーム エディタです。行指向であり、行単...
img 要素を使用すると、HTML ドキュメントに画像を埋め込むことができます。画像を埋め込むには、...
問題の説明最近、いくつかのマシンで、一日のさまざまな時間に次の警告メッセージが表示されました。 3月...
MySQL は強力なオープンソース データベースです。データベース駆動型アプリケーションの数が増える...
1. マスタースレーブレプリケーションとは何ですか?マスタースレーブレプリケーションは、スレーブデー...
最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...
目次Vue でのモデルバインド表示の if の v-text の説明v-html: v-オンv-if...
目次序文メタデータとは参照文書アドレスまずはMySQLについてお話しましょうOracleについて話し...
Windows10にmysqlをインストールする1. 公式サイトからMySQLをダウンロードするウェ...
目次1. Linuxホスト名を設定するクライアントホストを構成するサーバーホストを構成する2. ホス...