【某録】Mysqlがdocker以外で動いていて止まらな場合の対応

Other

今回はMysqlがdocker以外で動いていて止まらな場合の対応の紹介です。

kamiです。
TwitterYoutubeもやってます。

一応、killでport番号3306を消せない方がここに辿り着いていると思いますが、まだな方は試してみてください。

3306番を使っているportの詳細を検索

sudo lsof -i :3306

lsofの結果

icon

この時点の結果で3306はmysqlが動いていることがわかります。

COMMAND PID   USER     FD   TYPE DEVICE           SIZE/OFF  NODE  NAME
mysqld  012   _mysql   asd  IPv6 kmk4fvr848r9cwc    0t0      TC   *:mysql (LISTEN)
  • mysqld プロセスがポート3306をリッスンしている。
  • MySQLのデフォルトポート → MySQLが動いていることは確定。

PIDを使ってkill

sudo kill -9 <PID>

それでも消せなかった方次に進んでください

削除できているかの確認

ps aux | grep mysql

次のようにまだ消えてない場合は削除できていません

$ps aux | grep mysql
_mysql   156    0.1  0.0  409689728   4352   ??   Ss   11:37AM   1:13.83 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid
kami     9876   0.0  0.0  408104048   1328 s031  R+    2:41AM   0:00.00 grep mysql

MySQLの起動確認

MySQLにはいくつかの起動方法があります。

  • Homebrew経由で起動されている可能性
  • Launch Daemon(macOSのシステムサービス)で起動している可能性
  • 手動で直接起動された可能性

Homebrew経由のMySQLサービスを停止

Homebrew経由のMySQLサービスを停止を行います。

sudo brew services stop mysql

brew services は Homebrewでインストールされたサービス(ここでは MySQL)を macOS のバックグラウンドサービスとして管理するツールです。

brew services は Homebrew

homebrew.mxcl.mysql というラベルで管理されているMySQLを停止しました。

停止後に確認

brew services list

スポンサードサーチ

macOSのシステムレベルで動作しているMySQLサービスを停止する方法

macOSのシステムレベルで動作しているMySQLサービスを停止します。

launchctl は macOS のシステム起動時にサービスを管理するツールです。

sudo launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

「/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist」はOracle版のMySQL が自動起動するための設定ファイルです。

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

-wオプションは 「再起動後も無効化を維持する」 ことを意味します。

これで二つともストップすることができました。

以上になります。

OtherMySQL

Posted by kami