それが僕には楽しかったんです。

僕と MySQL と時々 MariaDB

MariaDB のデバッグをいい感じにやる

はじめに

久々に MariaDBmacOS 上でデバッグしていたらデバッグしたまま寝てしまい、それを機に色々と壊してしまい戻すまでに時間がかかったので雑にまとめる。

デバッグの構成

mtrgdb をいい感じに利用できないことが多いので CLion に組み込まれている lldb を愛用している。この時、手元で実行すると data ディレクトリなどなどをいい感じに初期化して配置しておく必要がある。
basedir は /usr/local/mysql, datadir は /usr/local/mysql/data としている。

やることリスト

普通にビルドする。
rabbitfoot141.hatenablog.com
ただし、オプションに -DMYSQL_MAINTAINER_MODE=OFF を追加する。
これで groonga, mroonga 周りのビルド大ゴケ問題をだいたい解決できる。

ビルドしたら次にやることは make install。
これをやると basedir 以下にバイナリなどが配置される。

バイナリを配置したらやることは

$ /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

で datadir を初期化する。

あとはいつも通り mariadbd を起動してデバッグする。

ビルド役立ちメモ

特定ストレージエンジンのビルドをスキップしたい時は -DWITHOUT_MROONGA=1 みたいにオプションを渡してやると幸せになれる