uzullaがブログ

uzullaがブログです。

気軽にmysqlのdata_dirを一個つくるやつ

個人的な小道具の紹介です。

開発中にMysqlとかちょっと用意したいけど、他のやつとデータ一緒にしたくない…ってよくある話です。
適当なdirをつくってmysql_install_dbして、適当にmy.cnfをかいて、あとはmysqld_safeを適切に叩けばできるわけですが…、わりと面倒だし「あれ?停止ってどうやんだっけ?まあkillでいいか〜」ってなりがちなので、そういうのを生成するスクリプトです。


今つかってるのは5.6相手ですけど、多分昔のでも動くんじゃないですかね?

mysql_data_setup.php

https://gist.github.com/uzulla/6028743

適当に保存しましょう。別にどこでもいいです。

使い方

適当なディレクトリ、たとえば ~/mysql-temp を用意してそこに

cd ~/mysql-temp
php /path/to/mysql_data_setup.php
(色々出力がでますので、エラーがないか見ましょう)

cd ~/mysql-temp
./start_mysql.sh # mysqlがスタートします

(色々作業をやって、終了した)

./stop_mysql.sh # mysqlがストップします
cd
rm -R ~/mysql-temp # 作業ファイルが消えます

my.cnfの修正など

もちろんポートがカブってることもあるでしょう、~/mysql-temp/mysql_data/my.cnf のport番号を適当に書き換えましょう、他の設定も適当に書き換えましょう。
UNIXソケットファイルで接続したい場合は ~/mysql-temp/mysql_data/socket を指定してください。

なんでこういうのにPHPなんだ

__DIR__とか、realpath()とかfile_put_contents()とかあるから一番早く書けたし、俺がPHPerだった。