Edited at

brewでインストールしたmysqlが勝手に再起動するのを直す


現象

brewでインストールしたmysqlがmysql.server stopしてもpidを変えて再起動してくる.

❯ mysql.server status

SUCCESS! MySQL running (28216)

❯ mysql.server stop
Shutting down MySQL
.. SUCCESS!

❯ mysql.server status
SUCCESS! MySQL running (28667)


原因

macにはlaunchctlという仕組みがあり,plist定義を作っておくと,自動でデーモンを起動してくれる.これにmysqlが定義されていた.

❯ launchctl list | grep mysql

30154 0 homebrew.mxcl.mysql


対処

以下のコマンドでlaunchctlの管理から除外できる.

❯ brew services stop mysql

Stopping `mysql`... (might take a while)
==> Successfully stopped `mysql` (label: homebrew.mxcl.mysql)

※再度登録はbrew services start サービス名とすると良い