MySQLが起動しない
~ $ mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (38)
参照した記事
mysqlが起動できなくなって試行錯誤の末に再インストールした話
MySQLをインストールし直す
sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /private/var/db/receipts/*mysql*
brew uninstall mysql
PCを再起動し、mysql -u root
がcommand not found
になることを確認。
改めて、MySQLをインストール
brew install mysql
すると、インストールは完了したが、エラーが表示される。post-install step
が完了しなかったとのこと。
2020-03-22T07:26:40.099179Z 0 [System] [MY-013169] [Server] /usr/local/Cellar/mysql/8.0.19/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 2421 2020-03-22T07:26:40.100912Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive 2020-03-22T07:26:41.006686Z 0 [ERROR] [MY-010361] [Server] Fatal error: Illegal or unknown default time zone 'Asia/Tokyo' 2020-03-22T07:26:41.006870Z 0 [ERROR] [MY-013236] [Server] The designated data directory /usr/local/var/mysql/ is unusable. You can remove all files that the server added to it. 2020-03-22T07:26:41.007153Z 0 [ERROR] [MY-010119] [Server] Aborting 2020-03-22T07:26:41.691456Z 0 [System] [MY-010910] [Server] /usr/local/Cellar/mysql/8.0.19/bin/mysqld: Shutdown complete (mysqld 8.0.19) Homebrew. Warning: The post-install step did not complete successfully You can try again using `brew postinstall mysql`
[ERROR] [MY-010361] [Server] Fatal error: Illegal or unknown default time zone 'Asia/Tokyo'
と出ている。Timezoneの設定をmy.cnf
から削除する必要がある。
mysql --verbose --help | grep my.cnf #/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
それぞれのmy.cnfを確認しタイムゾーンの設定を見つけ、削除する。
brew postinstall mysql
実行すると、エラーが出ずに完了。
~ $ brew postinstall mysql ==> Postinstalling mysql ==> /usr/local/Cellar/mysql/8.0.19/bin/mysqld --initialize-insecure --user=bupol
これでMySQLを実行できるか?と思ったが、まだできない
~ $ mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (38) ~ $ mysql.server start Starting MySQL .. ERROR! The server quit without updating PID file (/usr/local/var/mysql/fuwaakiras-MacBook-puro.local.pid).
エラーメッセージを確認する
~ $ cat /usr/local/var/mysql/xxxxxx-MacBook-puro.local.err # 省略... 2020-03-22T07:29:59.932031Z 0 [ERROR] [MY-010273] [Server] Could not create unix socket lock file /var/lib/mysql/mysql.sock.lock. 2020-03-22T07:29:59.932330Z 0 [ERROR] [MY-010268] [Server] Unable to setup unix socket lock file. 2020-03-22T07:29:59.932835Z 0 [ERROR] [MY-010119] [Server] Aborting # 省略...
Unable to setup unix socket lock file.
で検索すると、これは所有権の問題らしい。
所有権を自分のユーザ名に変更
~ $ sudo chown username /var/lib/mysql
やっとMySQLを実行できた!!
~ $ mysql.server start Starting MySQL . SUCCESS!