日向夏特殊応援部隊

俺様向けメモ

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;

みたいな感じで使います。