MySQLマスターコピー


本文の主な出所:公式文書中国語版第6章「MySQLでのコピー」.この文書では、構成の要点のみを記録します.
1.プライマリ・データベース構成(通常/etc/my.cnf):
[mysqld]に次の構成を追加します.
server-id=1(任意の値)
log-bin=mysql-bin
binlog_do_db=コピーするデータベース(実際にはバイナリ・ログを作成するデータベース)
binlog_ignore_db=mysql(無視するデータベース)
MySQLサーバを再起動してクライアントにアクセスし、データベースからの接続のためにデータベース・ユーザーを作成します.
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
(ユーザー名、パスワード、およびサーバホストアドレスからカスタマイズ可能)
次に、読み書きバッファをリフレッシュし、テーブルの読み書き操作をロックします.
FLUSH TABLES WITH READ LOCK;
この時点でホストshellに別途接続し(現在のMySQL接続を閉じないでください.そうしないとロックが解除されます)、データベースからデータベースへのコピーを開始します(同じ名前のデータベースを作成しておく必要があります.
mysqladmin -h
サーバアドレスから
 create
データベース名を作成):
mysqldump--optコピーするデータベース-pメインデータベースrootパスワード-R-B|mysql-hサーバアドレスからコピーするデータベース名-pデータベースrootパスワード
コピーが完了したら、MySQLクライアントに切り替えて実行します.
SHOW MASTER STATUS;

FileとPositionの値(binlogの位置)を記録し、後で使用します.次に、
UNLOCK TABLES;

サーバshellからに切り替えることができます.
2.サーバー構成、データベース構成ファイル:
同じようにcnfファイルに追加:
server-id=1(任意の値ですが、プライマリ・データベース値または他のスレーブ・データベース値と同じ値ではありません)
次にクライアントに接続し、次のコマンドを実行します.
CHANGE MASTER TO MASTER_HOST='      ',MASTER_USER='repl',MASTER_PASSWORD='slavepass',
MASTER_LOG_FILE='mysql-bin.000024',MASTER_LOG_POS=87167417;

最後の「MASTER_LOG_FILE」と「MASTER_LOG_POS」は先ほどホストに記録したデータです.
最後にコマンドを実行して、データベースからスレッドをコピーします.
start slave;
または
slave start;

参照先:http://yahoon.blog.51cto.com/13184/33231