replication status plugin のインストール
Replication Status Plugin という物がありまして、SHOW SLAVE STATUS で取れる値が information_schema.SLAVE_STATUS テーブルから取れるよって代物です。
SHOW 系のコマンドって変数代入出来ないから SQL でホゲホゲする事が出来ないんですよね。なのでこういう物があると中々便利かなと。
how do I install the Mysql Replication Status plugin に書いてあるまんまですが、こんな感じでインストールします。BUILDDIR が MySQL を一回ビルドしたディレクトリ、INSTALLDIR が MySQL をインストールした(--prefixで指定した値)ディレクトリだとして、
$ wget http://launchpad.net/is-replication-status/trunk/0.1/+download/MySQL-is_replication_status-0.1.tar.gz $ tar xfz MySQL-is_replication_status-0.1.tar.gz $ cd MySQL-is_replication_status-0.1 $ ./configure --with-mysql-src=$BUILDDIR --prefix=$INSTALLDIR $ make $ make install
みたいな感じにしておくと、$INSTALLDIR/lib 以下に is_replication_status.a is_replication_status.la, is_replication_status.so ファイルが出来上がります。
このままだと install 出来ないので、
$ cd $INSTALLDIR/lib/ $ mv -v is_replication_status.* mysql/plugin
としてあげてから、おもむろに MySQL のコンソールより、
INSTALL PLUGIN MASTER STATUS soname 'is_replication_status.so'; INSTALL PLUGIN SLAVE_STATUS soname 'is_replication_status.so';
とかしてやるとインストール完了です。
利用方法
もの凄い簡単です。SHOW SLAVE STATUS で取得出来るフィールドがそのままカラム名になっていて、テーブルには1レコードしか入ってませんので、例えば
USE information_schema; SELECT Exec_Master_Log_Pos FROM SLAVE_STATUS;
みたいな感じで使います。