ハイパフォーマンスMySQLのノート(章Xのコピー)01

p469〜P534。二つの部分、p469〜P501(〜10.4 10.1)に分け、P501〜P534。

アウトライン

  • のみをサポート2行ベースのレプリケーション、レプリケーション・ベースのレプリケーションと行ベースの文の後にコピーし、5.1を濃縮しました。
  • 同時に、プライマリと完全な一貫性を保証することはできません、数秒、数分、数時間の遅れがあるかもしれません。
  • 通常、マスタからの書き込みに、一人で図書館メインライブラリーから読み取ります。

コピー問題解決

  • データ配信
  • ロードバランシング
  • バックアップ
  • 高可用性およびフェイルオーバー
  • テストをMySQLアップグレード

コピー処理

  • バイナリログにメインライブラリレコードデータを変更します(バイナリログ)
  • 自分のリレー(リレーログ)をログに記録するマスター・コピーライブラリデータベースログの調製
  • 重量に、ログにバックアップデータベースをスタンバイ・データベースのイベントを中継読みます

レプリケーションを設定し

ステップ

  1. 各サーバーのレプリケーションにアカウントを作成します
  2. メインライブラリとライブラリ機器の設定
  3. ライブラリとライブラリによる通知は、マスタに接続されたマスター・データベースからデータをコピーします。

複製アカウントを作成します。

grant replication slave, replication client on *.* to repl@'192.168.0.%' identified by 'password';

メインライブラリとライブラリ機器の設定

MySQLを再起動するように設定log_bin、必要性を持っていない場合は、メインのライブラリには、my.cnfファイルを修正します。

log_bin = mysql-bin
server_id = 10

クエリを実行し、 SHOW Master status;

ライブラリ装置は、同様の構成を増加しているが、また、MySQLを再起動します

log_bin = mysql-bin
server_id=2
relay_log = /var/lib/mysql/mysql-relay-bin
log_slave_updates = 1
read_only = 1

コピー開始

セットには、ライブラリからコピーします。

change master to master_host='106.***',
master_port=**,
master_user='repl',
master_password='***',
master_log_file='mysql-bin.000001',
master_log_pos=0;

ステートメントの実行start slaveオープンコピーを。実行することでshow slave status利用できるビューレプリケーションの状態、およびエラーメッセージを。

実行することでshow processlist、あなたは、2件のスレッドがあります見ることができます。アンI / Oスレッドを、マスター、リプレイSQLスレッドの更新を待って、ローカルデータベースにログを再読み込みする準備ができています。

簡単なテストの下では、マスター・ライブラリーに加えて1秒以内に新しいデータでは、このライブラリの準備は非常に高速なデータを得ました。

上記の状況では、複製のための2台のサーバーの新しいブランドです。それは、既存のデータベースに延長された場合、そのデータはバックアップのための主要なライブラリのバイナリログの開始前にすることができ、その後、新しいライブラリ装置へバックアップを復元します上。

mysqldump -h localhost -P 3306 -u root -p --database databaseName > databaseName.sql

おすすめ

転載: www.cnblogs.com/winwink/p/HighPerformanceMySql_Chapter10_Replication_01.html