恥知らずのウェブエンジニア -web engineer, shameless

これは一歩を踏み出すことができない者たちのブログ

mysql起動できない><

mysqlをソースからインストールし、起動した際にエラーになったのでメモ。

下記の流れで作業行いました。

cd /usr/local/src
//訳あって今回はmysql-5.1.70をインストール
wget http://downloads.skysql.com/archives/mysql-5.1/mysql-5.1.70.tar.gz
tar zxf mysql-5.1.70.tar.gz
cd mysql-5.1.70
./configure \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-fast-mutexes \
--with-plugins=max-no-ndb
make
make install

mkdir /usr/local/mysql/etc
chown -R root  .
chown -R mysql var
chgrp -R mysql .

vi etc/my.cnf
//my.cnf編集

chown mysql:mysql /usr/local/mysql/etc/my.cnf
/usr/local/mysql/bin/mysql_install_db --defaults-file=/usr/local/mysql/etc/my.cnf
/usr/local/mysql/share/mysql/mysql.server start

ここで下記のようなエラー

[ERROR] /usr/local/mysql/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
[ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
mysqld_safe mysqld from pid file /usr/local/mysql/var/ ended


結論としては、権限の問題で/usr/local/var/mysqlの下の
ファイル等の権限がrootになっていて読めないということでした。

なのですが、/usr/local/var/mysql自体はmysql:mysqlの権限になっていて、
上の作業でvar以下はmysqlの権限にしたと思い込んでいて、
my.cnfに問題あるのかとか思ったりして、若干ハマってしまいました・・・

ちゃんとエラー文言を素直に受け入れて確認しよう><




感謝致します。
f:id:ogataka50:20130927201514j:plain