[Zend Framework] Zend Server: ERROR! Manager of pid-file quit without updating file.
MySQL を使おうとphpMyAdmin に入ろうとしたところ、ログインできない。
ID:zend / PW: なしで入れるはず。 (Zend Framework CE 5.6.0)
半日はまったのでメモ。
$ ps ax | grep mysql
$ cd /usr/local/zend/mysql/bin/
$ ./mysql.server start
Starting MySQL
. ERROR! Manager of pid-file quit without updating file.
起動してないし、起動しない。
再インストールなど試しつつ、いろいろ調べた結果、ココにたどり着く。
Zend Forums • View topic – MySQL does not start (ERROR! Manager of pid-file
quit..)
どうやら MAMP を使った後のインストールで、不具合が発生するらしい。
(追記:Mountain Lion へアップグレード後、同様症状が発生した。)
$ cd /usr/local/zend/mysql
$ sudo scripts/mysql_install_db
Password:
Installing MySQL system tables...
OK
Filling help tables...
OK
...
$ sudo chown -R zend:wheel data
$ cd ../
$ sudo bin/zendctl.sh start-mysql
Starting MySQL
. SUCCESS!
phpMyAdmin へのログインと、DBの接続・利用に問題がないことを確認した。
またMAMPを立ち上げても壊れなかった。
追記: Mac を起動し直したら、ターミナルで以下を実行する必要がある。
$ sudo /usr/local/zend/bin/zendctl.sh start-mysql
自動起動していない模様。
これは何かのタイミングで、他のMySQLを優先するようになっていたことが原因のようなので、/usr/local/zend/mysql
へパスを通して解決できました。
追記:2013/06/14
このあたりの設定を変更すれば、普通に解決するのだろうか?
/tmp/mysql.sock
とか。
% cat /usr/local/zend/mysql/data/my.cnf | grep socket
socket = /usr/local/zend/mysql/tmp/mysql.sock
socket = /usr/local/zend/mysql/tmp/mysql.sock
# All interaction with mysqld must be made via Unix sockets or named pipes.
% cat /usr/local/zend/etc/php.ini | grep default_socket
default_socket_timeout=60
pdo_mysql.default_socket=/usr/local/zend/mysql/tmp/mysql.sock
mysql.default_socket=/usr/local/zend/mysql/tmp/mysql.sock
mysqli.default_socket=/usr/local/zend/mysql/tmp/mysql.sock