MySQL5.6.8のrpmをビルドしてインストールすると、/etc/init.d/mysqld startでコケるらしい。
MySQL5.5.xを入れてあって、アンインストールしてからだとコケないらしい。
MySQL5.5.xを入れてあってアンインストールした後、/var/lib/mysqlを消してからだとコケるらしい。
メールに貼ってあったエラーログには、
ERROR: 1005 Can't create table 'db' (errno: 13)
errno: 13ってPermission Deniedだなぁ。。
MySQL5.5.xの作った/var/lib/mysqlを残しておけばコケないらしいので、
やっぱり/var/lib/mysqlを作る時とかのパーミッションがおかしいんだろうなぁ。
それでmysql_install_dbがコケてるのかしら。
でも/etc/init.d/mysqld startじゃなくて直接/usr/bin/mysql_install_dbを叩くと通るなぁ。
5.6系のmysql_install_dbはPerlスクリプトなので、シバンを#!/usr/bin/perl -dに書き換えて、
$DB::single=1をちょこちょこ追加して様子を見る。
Perl版mysql_install_dbがおかしいってどこかで見た気がするなぁとか思いながら。
(記憶にあったのはriywoさんのBlogだった。
うん、確かに/var/lib/mysqlをmysql:mysqlにした後、
/var/lib/mysql/mysqlをroot:rootで作ってその後chownされてないな。
Bugsにも上がってる。次回のビルドでは直るって。
取り敢えずBugsに上がっていた修正を自分のmysql_install_dbに入れて、
diff -c取ってWING☆さんに丸投げしてみた。
こういう連携で何かが上手く動くのって、とても楽しかったりするよね。
ところで、WINGリポジトリのMySQLはepelのspecファイルとかを流用して作ってると聞いていたけど、
epel系のrpmってインストール時にmysql_install_dbじゃなくて、/etc/init.d/mysqldが叩くのね。
ちょっと新鮮でした。
WING☆っすw
返信削除mysqlはremiベースで、epelに合わせるようにしてあるけど、そこまで細かく見てなかったかもです。
今度、細かく中身見てみるっす。
今回助けて頂いて感謝です!