MySQL AllStar v0.2

#mysql #vagrant

MySQL 4.0から5.6までの各バージョンを1つのVMに納めたMySQL AllStarというVagrantboxを以前作ったのですが、少し修正を加えました。

変更点

CentOS 4 boxの廃止

大分メンテが辛いので捨てました。 chef入らないし、puppetも0.25.6-1.el4というとんでもなく古いバージョンだし、provisioningスクリプトも複雑になるしで、良いことがないので止めました。

各バージョンのmy.cnfの設置

/etc/my.cnfや各MySQLのバージョンに対応したmy.cnfが無かったので設置しました。

/etc/my.cnfは以下のように、ユーザをvagrantにしただけです。 本当はmysqlユーザがいいんだと思うんですが、mysql-buildから作成している関係で、mysqlユーザがいないんですよね。

あくまで検証用に使うVMという位置づけなので、接続するユーザはなんでもいいかなと。

[client]
user = vagrant

[mysqld]
user = vagrant

[mysqlhotcopy]
interactive-timeout

[mysqldump]
quick

MySQL AllStarに入っている各MySQLは/home/vagrant/mysql/<VERSION>以下に入っています。 バージョンによって対応してないオプションやsocketの場所を分離するために、固有のオプションは<VERSION>/etc/my.cnfに設置しています。

vagrantcloudに対応

対応っていうほど大したものじゃないですが、vagrant init hfm4/CentOS6.5-x86_64-mysql-allstarみたいに起動できるようにvagrantcloudにboxを追加しました。

その他

あとはMySQL 5.5と5.6でmysql_install_dbがコケてしまう問題や、細かなバグを直してました。 それと、検証用VMのつもりなのであまり関係ありませんが、chefやpuppetの最新バージョン、opensslの問題などの修正も含まれてます(yum updateしただけ。)

MySQLのバージョンアップをする上で、検証用に各バージョンが1個のVMに入っているとありがたいなあと思って作ったVM Boxですが、今後もなんかあったら直していこうと思います。