Can't connect to local MySQL server through socket '/tmp/mysql.sock'(2)
mysqlサーバーに接続する際、mysql.sockファイルを使って接続するらしいのですが、
なんらかの原因により、このファイルが消えることがあるそうです。
mysql.sockファイルを作ります。
$ sudo touch /tmp/mysql.sock
mysql再起動
$ sudo mysql.server restart
それでもなおらない場合
Can't connect to local MySQL server through socket '/tmp/mysql.sock'(38) #2だったのが38に
この場合は、mysql.sockファイルが入っているディレクトリ権限が原因だと思われるので、
$ sudo chown mysql:mysql /tmp
これでもう一度
$ sudo mysql.server restart
をしましょう。
ERROR! MySQL server PID file could not be found!
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Air.local.pid).
再起動したらまた別のエラーが発生しました。
PIDファイルというものが存在しないようなので、PIDファイルを作成します
sudo touch /usr/local/var/mysql/*****.local.pid
*****のところは自分のパソコンのホスト名が入ります。
ホスト名はuname -n
コマンドで確認することが出来ます。
PIDファイルを作成したらmysqlディレクトリ下の権限を変更します
sudo chown -R _mysql:_mysql /usr/local/var/mysql/
これでもダメなら
不要なプロセスを削除します
# mysql関係の動いているプロセスを確認
ps aux | grep mysql
# grep以外のプロセスをkillする
sudo kill -TERM 11111
# 接続できるか確認する
mysql -uroot
これでもダメなら
mysqlの再インストール
6.MySQLを再インストール
$ brew install mysql
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 83 formulae.
==> Downloading https://homebrew.bintray.com/bottles/mysql-8.0.22.mojave.bottle.tar.gz
Already downloaded: /Users/username/Library/Caches/Homebrew/downloads/4a60667753e025faabe79e025a2f0a91ada50edf673388afad377e4489448ad2--mysql-8.0.22.mojave.bottle.tar.gz
==> Pouring mysql-8.0.22.mojave.bottle.tar.gz
==> /usr/local/Cellar/mysql/8.0.22/bin/mysqld --initialize-insecure --user=username --base
==> Caveats
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
To connect run:
mysql -uroot
To have launchd start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
mysql.server start
==> Summary
🍺 /usr/local/Cellar/mysql/8.0.22: 294 files, 292MB
homebrewでMySQLを再インストールできました。
本当に再インストールできているのか確認してみます。
$ which mysql
/usr/local/bin/mysql
ちゃんとできていますね。
再インストールできたのでMySQLを起動してみます。
$ mysql.server start
Starting MySQL
. SUCCESS!
本当に起動しているか確認してみます。
$ mysql.server status
SUCCESS! MySQL running (28596)