mysqlデータベース同期更新


mysqlは3.23から.15以降では、データベース・レプリケーション機能が提供されます.この機能により、2つのデータベースの同期、プライマリ・スレーブ・モード、相互バックアップ・モードの機能を実現できます.データベース同期レプリケーション機能の設定はmysqlの設定ファイルに反映されます.
mysqlのプロファイル(一般的にmy.cnf)unix環境で/etc/mysql/my.cnfまたはmysqlユーザーのホームディレクトリの下にあるmy.cnf.window環境では、c:ルートディレクトリの下にmy.cnfファイルがある場合にプロファイルを取ります.mysqlのwinmysqladmin.exeツールを実行すると、ツールはc:ルートディレクトリの下にあるmy.cnfをmycnf.bakと命名します.wintディレクトリの下にmy.iniを作成します.mysqlサーバ起動時にプロファイルが読みます.だからmy.cnfの内容をmyにコピーする.iniファイルでmy.iniファイルはmysqlサーバのプロファイルとして使用されます.設定方法:サンプル環境の設定:オペレーティングシステム:window 2000 professional mysql:4.0.4-beta-max-nt-log A ip:10.10.10.22 B ip:10.10.10.53 A:設定
1.ユーザーが最も同期しているユーザーアカウントを追加します.
< >
2.同期データベースとしてデータベースを追加します.
 
create database backup

B:   
1.               : 
GRANT FILE ON *.* TO backup@'10.10.10.22' IDENTIFIED BY ‘1234’

2.同期データベースとしてデータベースを追加します.
create database backup

マスタスレーブモード:A->B
 
Aはマスター
A mysqlのmyを修正します.iniファイル.mysqld構成項目に次の構成を追加します.
server-id=1
log-bin
#      log     log-bin=c:mysqlbakmysqllog          ,
#  mysqllog        ,mysql        ,    mysqllog       。
binlog-do-db=backup #          

データベース・サービスを再開します. 
show master statusコマンドでログ状況を見ます. 
Bはslave
B mysqlのmyを修正します.iniファイル.mysqld構成項目に次の構成を追加します.
server-id=2
master-host=10.10.10.22
master-user=backup #      
master-password=1234
master-port=3306
master-connect-retry=60       60 
replicate-do-db=backup   slave  backup      

データベースの再起動
 
show slave statusで同期構成状況を見ます. 
注意:slaveの構成情報が設定されているため、mysqlはデータベースディレクトリの下でmasterを生成します.info 
したがって、関連するslaveの構成を変更するには、まずファイルを削除します.変更された構成は有効になりません. 
デュアルマシン・スタンバイ・モード. 
Aにslave設定を加え、Bにmaster設定を加えると、B->Aの同期ができます. 
Aのプロファイルでmysqldプロファイルに次の設定を追加します.
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10

Bのプロファイルにmysqldプロファイルに次の設定を追加します.
log-bin=c:mysqllogmysqllog
binlog-do-db=backup

注意:エラーが発生した場合*.Errログファイル.同期スレッドが終了し、エラーを修正した後に同期メカニズムを動作させ、slave startを実行してABマシンを再起動すると、双方向のホットスペアを実現できます.
テスト:Bに大量データ量表AA(1872000)のAデータベースを一括挿入し、毎秒2500のデータを更新することができる.