mysqlでレプリケーション

サーバってのは障害やら攻撃やらを受ける。DBサーバ1台だと不安だとか、負荷分散とかで、まあ色々理由があって複数台使うわけだ。
mysqlレプリケーションは比較的枯れた機能だってどっかに載ってた。

いや、まあ、ググったら出るので…自分がやったときの注意点とか。
ググると、大抵はレプリケーションにはreplとかいう、レプリケーションだけができるユーザを作って、そいつにDB全体をレプらせるようだ。
当然、触れるDBの範囲は*.*だ。
で、例えば、触れるDBが限定されている環境下において、触るDBを増やしたいとき。
どんなときかっつーと、my.cnfに replicate-do-db=table1 と書いてあるとか、そもそもreplさんがtable1しか触れないとき。

  • 結論

明示的に複数のDB触らせたいなら、my.cnfにreplicate-do-dbを好きなだけ追加してスレーブ再起動
あと当然権限も追加で与える



一度 table1.* でgrantされているユーザに、table2.* とかするとエラー吐く。(確か。)しかもこのエラー、ググっても何の役にも立たない。
おとなしく*.*で与えなおす。なお、別にrevokeしなくてもよかった。