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に問題あるのかとか思ったりして、若干ハマってしまいました・・・
ちゃんとエラー文言を素直に受け入れて確認しよう><
感謝致します。