mysql主从复制配置过程


メインライブラリの設定
1.mysqlの配置

vim /etc/my.cn
#           
server-id=1 #   server id  
log-bin = /var/lib/mysql/mysql-bin.log
binlog-do-db = db1 
binlog-do-db = db2
その中のdb 1とdb 2は主従コピーを行う予定のライブラリです。複数あれば、複数行を書いてもいいです。設定が完了したら、データベースを再起動します。service mysqld restart2.コピーユーザを追加する
phpmyadminを通じて、新しいユーザーを追加し、REPLICATION SLAVE権限を付与します。またはrootユーザーを通じてmysqlに登録し、権限を与える:

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'password'
replはユーザ名であり、passwordはユーザのパスワードである。
3.dumpデータ
新しいデータが発生しないことを保証できれば、データベースにロックをかける必要はありません。保証できない場合は、各dumpデータのデータベースにロックをかける必要があります。

use db1;
FLUSH TABLES WITH READ LOCK;
そしてdumpデータ:

mysqldump -uroot -p db1 > db1.sql
複数のデータベースがある場合は、上記のプロセスを複数回繰り返します。
4.バイナリファイルの位置を表示する
root IDを使ってmysqlにログインし、masterの状態を確認します。

show master status;
このコマンドには以下のようなフォーマットの出力があります。

+-----------------+-----------+----------------+------------------+
| File  | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------+-----------+----------------+------------------+
| mysql-bin.00002 | 445 | db1,db2 |   |
+-----------------+-----------+----------------+------------------+
1 row in set (0.00 sec)
5.ロック解除
エクスポート数が前にデータベースに読み取りロックをかけた場合、解除が必要です。

use db1;
UNLOCK TABLES;
これで、メインライブラリの配置が完了しました。特に、show master status が出力するfileとpositionの値を記憶する必要がある。
ライブラリの設定
1.新規データベース
まずライブラリから同じ名前のデータベースを作成します。
2.データベースからの設定

vim /etc/my.cnf
#  my.cnf       :
server-id = 2 #   id  
relay-log = /var/lib/mysql/mysql-relay-bin.log
replicate-wild-do-table = db1.%
replicate-wild-do-table = db2.%
複数のデータベースを同期させる場合、replicate-wild-do-tableは複数の行を書く必要があります。設定が完了したら、データベースを再起動します。
3.データの導入
メインサーバ上のdumpからのデータをサーバーから導入します。

mysql -uroot -p db1 < db1.sql
4.主従同期の設定
mysqlサーバに登録し、同期のメインサーバ情報を設定します。

> change master to master_host='xxx.xxx.xx.xx',
> master_user='repl',
> master_password='password',
> master_log_file='mysql-bin.00000x',
> master_log_pos=xxxx;
設定が完了したら、主従同期を開始します。start slave。そしてコマンドで状態を確認します。オウrunningとslaave_sqlrunningの二つはyesであるべきです。
テスト
メインライブラリに記録を追加したり、テーブルを追加したりする操作は、ほとんどリアルタイムでライブラリに反映されます。
以上はmysqlの主なコピー配置過程の詳細です。mysqlの主なコピー配置に関する資料は他の関連記事に注目してください。