mysql主从复制配置过程
メインライブラリの設定
1.mysqlの配置
phpmyadminを通じて、新しいユーザーを追加し、REPLICATION SLAVE権限を付与します。またはrootユーザーを通じてmysqlに登録し、権限を与える:
3.dumpデータ
新しいデータが発生しないことを保証できれば、データベースにロックをかける必要はありません。保証できない場合は、各dumpデータのデータベースにロックをかける必要があります。
4.バイナリファイルの位置を表示する
root IDを使ってmysqlにログインし、masterの状態を確認します。
エクスポート数が前にデータベースに読み取りロックをかけた場合、解除が必要です。
ライブラリの設定
1.新規データベース
まずライブラリから同じ名前のデータベースを作成します。
2.データベースからの設定
3.データの導入
メインサーバ上のdumpからのデータをサーバーから導入します。
mysqlサーバに登録し、同期のメインサーバ情報を設定します。
テスト
メインライブラリに記録を追加したり、テーブルを追加したりする操作は、ほとんどリアルタイムでライブラリに反映されます。
以上はmysqlの主なコピー配置過程の詳細です。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 restart
2.コピーユーザを追加する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の主なコピー配置に関する資料は他の関連記事に注目してください。