MySQL5.1でDB単位でのレプリケーション
2011年2月12日(土) 02:47 JST
閲覧数 15,925
Linux-HA環境を作ったので、次はMySQLのレプリケーションを試してみた。
DRBDでMySQLのデータを丸ごと同期でもいいのですが、MySQLは待機系で別アプリも動かしたかったので、DB単位でのレプリケーションにしてみました。
MySQLのレプリケーションは、非同期で実施可能なので深く考えなくても気軽に試せます。
待機系が死んでても稼動系では問題なくコミットされてくれるので、ほんと気軽です。
今回試した環境は、Slackware 13.1、MySQL 5.1になります。
(1)Master側設定
Slave側がアクセスするためのレプリケーションユーザーを作成し権限を設定します。
ここでは、replユーザを作成しています。ユーザ名はなんでも良い。
server-idは他のサーバとかぶらない様に設定する必要があります。
DRBDでMySQLのデータを丸ごと同期でもいいのですが、MySQLは待機系で別アプリも動かしたかったので、DB単位でのレプリケーションにしてみました。
MySQLのレプリケーションは、非同期で実施可能なので深く考えなくても気軽に試せます。
待機系が死んでても稼動系では問題なくコミットされてくれるので、ほんと気軽です。
今回試した環境は、Slackware 13.1、MySQL 5.1になります。
(1)Master側設定
Slave側がアクセスするためのレプリケーションユーザーを作成し権限を設定します。
ここでは、replユーザを作成しています。ユーザ名はなんでも良い。
mysql> grant file on *.* to repl;Slace側のIPアドレスからアクセスするユーザに権限「file」と「replication slave」を与え、パスワードを設定します。
mysql> grant file,replication slave on *.* to repl@192.168.1.100 IDENTIFIED BY 'p@ssw0rd';ログを作成する様に設定ファイル(/etc/my.cnf)を変更します。
server-idは他のサーバとかぶらない様に設定する必要があります。
server-id=1001 log-bin=mysql-bin