MySQLのバージョンをMacで変更した際、 ERROR! The server quit without updating PID file エラーで起動出来なくなった問題
お馴染みのよくQiitaで見かけるMySQLが起動出来ないエラーに関する記事です。
新マックにて、homebrewでMySQLのバージョンを8から5.7に変更した際に起こりました。
$ brew install [email protected]
この後MySQLを起動するため、
$ mysql.server start
と打つと、
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/user/pid)
のエラーが起きました。
ググってヒットしたのは、パーミッション系です。
sudo chown -R _mysql:_mysql /usr/local/var/mysql/
のコマンドで解決したケースが多いみたいだったので、打ってみますが、エラーは解消せず。
次によくあったのが、mysqlのプロセスをkillしてみたり、入れ直したりなどで、それらも試みましたが、ダメでした。
いくつかググって見ていると、こちらでログを見るように書かれていたので、まずはログを確認しました。
これも、どれがログファイルかすぐには分からず、sudo tail -f
を打ってリアルタイムに書き換わっている場所を、/usr/local/var/mysql/下で探しました。
/usr/local/var/mysql/マック名.err
というファイルにログが更新されていたので、そちらを見てみました。
sudo tail -f /usr/local/var/mysql/マック名.err
おびただしいエラーログがあったので、エラーの発生時点まで遡ってみると、
NoteからERRORに切り替わっている場所が!
[ERROR] Can't start server: Bind on TCP/IP port: Address already in use
2019-01-16T14:03:24.236514Z 0 [ERROR] Do you already have another mysqld server running on port: 3306 ?
どうやら既に起動中との事です、それを見てハッとしました。自分はDockerでMySQLを立ち上げていたので、それとローカルのMySQLがもしやポートで競合しているのではと思い、my.cnfからポートを変更するようにしました。
$ mysql --help | grep my.cnf
を打って、出てきた候補から、ファイルが書き込まれている部分を調べました。
自分の場合は/usr/local/etc/my.cnf
にあったので、そちらにて、port=3307という指定を追加しました。
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
# この行を追加
port=3307
再度
$sudo mysql.server start
すると、
$..Success!
と表示。ようやく解決しました。
同じ環境でDockerなどを立てて複数動かしてる場合は、ポートを変える必要があるという事です。
追伸
Mac自体を再起動すると、バージョンが8に戻っていてまたコケた。
とりあえずこちらの方法で、MySQLを入れ直して対処。
Author And Source
この問題について(MySQLのバージョンをMacで変更した際、 ERROR! The server quit without updating PID file エラーで起動出来なくなった問題), 我々は、より多くの情報をここで見つけました https://qiita.com/tr-th/items/61bf6b4891f1bf31ce25著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .