1. はじめにMySQL にはレプリケーション ソリューションが付属しており、次のような利点があります。 データのバックアップ。 負荷分散。 分散データ。 コンセプト紹介: マスター: 複製されるデータベース。 スレーブ: マスターのデータを複製するデータベース。 再現手順: このプロセスを説明する典型的な図を以下に示します。 2. レプリケーションの実装レプリケーションを実装するには、次の手順が必要です。 1. MySQLマスターライブラリのバイナリログとサーバーIDを設定する MySQL設定ファイルは通常/etc/my.cnfに保存されます。 # [mysqld] の下に設定オプション [mysqld] を追加する サーバーID=1 ログ bin = mysql-bin.log server-id は、データベース クラスター全体におけるデータベースの一意の識別子であり、一意である必要があります。 注: このファイルがすでに MySQL 構成ファイルで構成されている場合には、この手順をスキップできます。 2. 新しいコピーアカウントを作成する データベースからマスター データベース データをコピーするための新しいアカウントをマスター データベースに作成し、コピー権限を付与します。 mysql> GRANT REPLICATION SLAVE、REPLICATION CLIENT ON *.* TO user_name@'host' IDENTIFIED BY 'password'; 3. MySQLマスターデータベースのサーバーIDを設定する 2 番目のステップの構成と同様に、注意すべき点が 2 つあります。 スレーブ ライブラリを他のスレーブ ライブラリのマスター ライブラリとして使用する必要がない場合は、バイナリ ロギングを構成する必要はありません。多くの場合、レプリケーションでは、マスター データベース内のすべてのデータベース (特に MySQL 情報構成データベース) のレプリケーションは必要ありません。したがって、replicate_do_dbを設定してレプリケートされたデータベースを指定することができます。4.データベースからマスターデータベースのデータを初期化します。 データ量が多くない場合は、mysqldump ツールを使用してマスター データベースのデータをエクスポートし、スレーブ データベースにインポートできます。 mysqldump --single-transaction --triggers --master-data データベース名 > data.sql データ量が多い場合は、ここでは紹介されていない Xtrabackup を使用してデータベースをエクスポートする必要があります。 マスター データベースが長時間実行されている場合、バイナリ ログに従ってスレーブ データベースを使用してデータをコピーするのは適切ではありません。バイナリ ログを直接使用してスレーブ データベースを初期化すると、時間がかかり、パフォーマンスが低下します。ほとんどの場合、マスター データベースのバイナリ ログ構成項目はオンになっていないため、以前の操作のバイナリ ログは存在しません。 5. レプリケーションを有効にする ライブラリから次のコマンドを実行します mysql> MASTERをMASTER_HOST='host'に変更します。 -> MASTER_USER='ユーザー'、 -> MASTER_PASSWORD='パスワード', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=0; 最後の 2 つのコマンド、MASTER_LOG_FILE と MASTER_LOG_POS に注意してください。これらは、ライブラリから読み取りを開始するバイナリ ファイルとオフセットの開始位置を示します。これらの 2 つのパラメーターは、インポートした SQL にあります。 レプリケーションを有効にする スレーブを起動します。 この時点でレプリケーションは完了です。マスター データベースでデータが更新されたり、新しいデータが追加されたりすると、その結果をスレーブ データベースで照会できます。 レプリケーション スレッドのステータスは、マスター データベースで照会することもできます。 3. レプリケーションログの形式マスター データベースがデータを保存する方法に応じて、MySQL レプリケーションには 3 つのログ形式があります。
MySQL 5.7 より前では、ステートメント形式がデフォルトで使用されていました。 設定方法は構成ファイルで設定できます (推奨): binlog_format=行 または、一時的にグローバル変数を設定します (現在の MySQL 接続は有効です)。 ログ形式を表示します。mysql > show variables like 'binlog_format'; ログ形式を設定するmysql> set binlog_format='row'; 通常、マスターサーバーとスレーブサーバーの 2 つは同じコンピュータルームに配置されるため、2 つのサーバー間の同期速度は速くなります。強力な一貫性を確保するには、行ログ形式 (行) を優先する必要があります。転送速度を確保するには、混合モード (混合) を選択できます。
|
<<: Dockerイメージをプルしてバージョンを確認する方法
>>: JS Canvas インターフェースとアニメーション効果
この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...
HTMLタグの説明1. HTMLタグタグ: !DOCTYPE説明: HTML ドキュメントが準拠する...
目次序文:特定の操作ステップ1: プレハブを準備するステップ2: オブジェクトプールを初期化するステ...
エラーのスクリーンショット例外が発生した場所が見つかりません。解決策: リソースディレクトリにlog...
前のセクションでは、コンテンツ、サーバー、JavaScript、CSS など、Web サイトのパフォ...
これらの 3 つのタグを間違った方法で使用して、タイトルを表に沿わせたり、tbody の高さを固定し...
1. MavenをダウンロードするMaven 公式サイト: http://maven.apache...
この記事の例では、完全な選択機能を実装するためのVueの具体的なコードを参考までに共有しています。具...
結果:実装コードhtml <link href='https://fonts.goog...
カルーセルはフロントエンド開発において比較的重要なポイントだと思います。ネイティブjsの知識ポイント...
導入MySQL InnoDB エンジンがレコードをクエリし、インデックス カバレッジを使用できない場...
1. 需要3 つのテーブルがあります。一定期間にわたるさまざまな抗生物質感受性の結果、つまり rep...
プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...
イメージが正常にビルドされると、Docker 環境があれば使用できますが、イメージを Docker ...
pingスキャンをオフにする(役に立たないが)まずルートに切り替えるエコー 1 > /proc...