Mysqlでうまくいかないところがあったのでそのときの対策を備忘録として残しておきます。
事象の内容
前提
- Mysql 5.7
- macOS10.13.6
事象
mysql.server startコマンドでさも起動できたかのように「.. SUCCESS!」と出るが、つなぎに行くとつなげなかったり、停止しようとしてもPIDが更新できないエラーが出る
1 2 3 4 5 6 7 8 9 10 11 |
~ $mysql.server start Starting MySQL .. SUCCESS! ~ $mysql.server stop Shutting down MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/***noMacBook-puro.local.pid). |
PC・mysqlサーバーを再起動したりしましたが、直らず・・・
原因
mysqlに接続しに行こうとすると、ソケット接続できない旨が出ました。
tmpディレクトリが怪しそうなので確認
mysql.lockがなくて、lockのファイルが存在している
これが接続のネックになっているっぽい
1 2 3 4 5 6 7 8 9 |
~ $mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) ~ $cd /tmp tmp $ls PKInstallSandbox.NAAA6p mysqlx.sock com.apple.launchd.T3zxOx35WB mysqlx.sock.lock com.apple.launchd.lsd9olR6pE powerlog mysql.sock.lock |
対策
- mysqlx.sock.lock, mysql.sock.lockを削除する
- mysql.server startでmysqlサーバー起動する
削除するときは念のためバックアップは取りましょう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
tmp $rm -f mysql*lock tmp $ls PKInstallSandbox.NAAA6p com.apple.launchd.lsd9olR6pE com.apple.launchd.T3zxOx35WB powerlog ~ $mysql.server start Starting MySQL .. SUCCESS! ~ $mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 22 Server version: 8.0.15 Homebrew Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
接続できるようになりました。
合わせて読みたい