2019年4月25日木曜日

macでmysqlを止められない時の対策

dockerを立ち上がろうとしたら、以下のエラーがでました。
ERROR: for test_db_1  Cannot start service db: driver failed programming external connectivity on endpoint test_db_1 (c0725b1665ce0d657ae65b915142e9e7dfbc8a3405d2b1599f9c26377a894526): Error starting userland proxy: Bind for 0.0.0.0:3306 failed: port is already allocated

ERROR: for db  Cannot start service db: driver failed programming external connectivity on endpoint test_db_1 (c0725b1665ce0d657ae65b915142e9e7dfbc8a3405d2b1599f9c26377a894526): Error starting userland proxy: Bind for 0.0.0.0:3306 failed: port is already allocated

ERROR: Encountered errors while bringing up the project.
つまり、3306ポートが既に使われています。

どんなサービスをそのポート番号を占めているのかを確認します。
 sudo lsof -i:3306
Password:
COMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

mysqld  10115 _mysql   14u  IPv6 0xebcee56ac2cbc277      0t0  TCP *:mysql (LISTEN)
見事に自分のローカルのmysqlでした。
そして、「mysql.server stop」で止めようとしたら、エラーになりました。
 mysql.server stop
 ERROR! MySQL server PID file could not be found!
強制的にプロセスをkillしたら、また立ち上げれました。
そして、以下の方法もためしたました。全部だめでした。
$/usr/local/bin/mysql.server stop

 sudo /usr/local/mysql/bin/mysqld stop
sudo /usr/local/mysql/support-files/mysql.server stop
最後、以下の方法でようやく止めることはできました。
 sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

0 件のコメント:

コメントを投稿