Mysql はバージョン 3.23.15 以降、データベース レプリケーション機能を提供します。この機能を利用することで、2つのデータベースの同期、マスタ・スレーブ方式、相互バックアップ方式を実現できます。
データベース同期レプリケーション機能の設定はmysql設定ファイルに反映されます。 MySQL 設定ファイル (通常は my.cnf)
Unix 環境では、mysql ユーザーのホーム ディレクトリにある /etc/mysql/my.cnf または my.cnf です。
Windows 環境では、c: ルート ディレクトリに my.cnf ファイルがある場合、この設定ファイルが取得されます。 mysql の winmysqladmin.exe ツールを実行すると、ツールは c: ルート ディレクトリ内の my.cnf に mycnf.bak という名前を付けます。そして、winnt ディレクトリに my.ini を作成します。設定ファイルは、mysql サーバーの起動時に読み取られます。したがって、my.cnf の内容を my.ini ファイルにコピーし、my.ini ファイルを mysql サーバーの構成ファイルとして使用できます。
設定方法:
サンプル環境のセットアップ:
オペレーティング システム: window2000 professional
mysql: 4.0.4-beta-max-nt- log
A ip:10.10.10.22
B ip:10.10.10.53
A: 設定
1. 最も同期されているユーザー アカウントを追加します。ユーザー アカウント:
GRANT FILE ON *.* TO Backup@'10.10.10.53' IDENTIFIED BY '1234'
2. データベースを同期データベースとして追加します:
データベースのバックアップを作成します
B: 設定
1. 最も同期されたユーザー アカウントを持つユーザー アカウントを追加します:
GRANT FILE ON *.* TO backup@'10.10.10.22' IDENTIFIED BY '1234'
2. データベースを同期データベースとして追加します:
データベースのバックアップを作成します
マスター/スレーブ モード: A->B
A はマスター
A の my.ini ファイルを mysql で変更します。 mysqld 設定項目に次の設定を追加します。
server-id=1
log-bin
#記録する必要があるログを設定します。 log-bin=c:mysqlbakmysqllog を設定できます。ログ ファイルのディレクトリを設定するには、
# mysqllog がログ ファイルの名前である場合、mysql は異なる拡張子を持つ複数のログ ファイルを作成し、ファイル名は mysqllog になります。
binlog-do-db=backup #ログが必要なデータベースを指定します。
データベース サービスを再起動します。
ログ ステータスを表示するには、show master status コマンドを使用します。
B はスレーブです
B mysql の my.ini ファイルを変更します。次の設定を mysqld 設定項目に追加します:
server-id=2
master-host=10.10.10.22
master-user=backup #Synchronize user account
master-password= 1234
master-port=3306
master-connect-retry=60 デフォルトの再試行間隔は 60 秒です
replicate-do-db=backup はスレーブにバックアップ データベースのみを更新するように指示します
データベースを再起動します
show smile status を使用して同期設定を確認します。
注: スレーブ構成情報が設定されているため、mysql はデータベース ディレクトリに master.info を生成します。
そのため、関連するスレーブ構成を変更する場合は、最初にこのファイルを削除する必要があります。そうしないと、変更した構成が有効になりません。
デュアルマシン相互バックアップモード。
Aにスレーブ設定、Bにマスター設定を追加すると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 ログ ファイル。同期されたスレッドが終了すると、同期メカニズムが動作できるようになり、スレーブ スタート
を実行して AB マシンを再起動し、双方向ホット バックアップを実行します。
テスト:
大きなデータ テーブル AA (1872000) のアイテムを B にバッチ挿入します。
データベースは 1 秒あたり 2500 個のデータを更新できます。