pacemakerのOCFリソースmysqlを使ってpromote/demoteさせる方法をテストした際のメモ。
参考サイト
インフラ構築手順書/PaceMacker+Mysqlレプリケーション構築手順を参考にしてMySQLのレプリケーションを設定します。
単独起動でMySQLレプリケーションとして構成すると記事の通りに動作しました。
動作を確認した環境は、CentOS6.6上にMySQLパッケージ(base、5.1.73-3)をインストールした状態です。
PacemakerのOCFリソースmysqlを使うとエラーがでました
ところが、Pacemakerから起動したMySQLレプリケーション構成ではエラーが発生するケースがありました。
Pacemakerがマスターとスレーブを入れ替える際に下記のエラーメッセージがでます:
Access denied; you need the RELOAD privileges for this operation;
マスターノードに昇格させる場合のmysqlコマンドは、
mysql> stop slave;
mysql> show processlist\G
mysql> reset master;
手作業の場合このような感じで行いますね。
OCFリソース内のmysqlを確認したところ、
pacemakerもstop slave; reset master;を発行してスレーブの昇格を行っています。
先のRELOAD privilegesエラーは、stop slave;発行した際に発生していました。
とうことで、MySQLにRELOAD privilegesを追加するとpacemakerからマスター・スレーブの移動がつつがなく動くようになります。
mysql> GRANT RELOAD on *.* to 'replicationuser'@'mysqlserver1';