MySQLがどうしても起動できない時に試したこと

# MySQLが起動できなくて途方に暮れた
MySQL初心者です。
個人的にMySQLを使っていて、起動ができなくなって困ったのでやった事を書き留める。
（切り分け下手かつ、色々試しすぎて順序立ってないのでご容赦ください。。）

# 結局
ハマりまくって色々試したけどうまく行かず、再インストール。泣
どうしてもうまく行かず、かつ大事なデータが無かったのでこの方が早いと判断した。

# 参考記事
- [mysqlが起動できない（Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)）
](https://qiita.com/carotene4035/items/e00076fe3990b9178cc0) 
- [MySQL起動できなくなった　The server quit without updating PID file](https://qiita.com/yuki0208/items/1d5554d98e9ec76084bd)
- [mysql.server startしてもmysqlを起動できない](https://qiita.com/maimaimai5420w/items/2748b70d888aa29340c6)
- [mysqlのsocketエラーでrailsアプリが起動できない](https://qiita.com/fujitora/items/d341c52706d1954cae28)
- [mysql起動時でエラーが起きた時の対処](https://qiita.com/makuramoto1/items/52159370d00bef708595)
- [mysqlがどうしても起動しない
](https://qiita.com/_natsu_no_yuki_/items/ae4c94187093e4ab3cdc)

# 試した事
エラーが続き全然起動しない。
↓Railsアプリの起動時

```terminal
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
```

## mysql.sockを作る
tmp配下にmysql.sockを作って起動してみる。

```terminal
$ touch /tmp/mysql.sock
```
```terminal
$ mysql
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)
```
（）の数字が2から38変わっただけで動かない。

## 起動確認
MySQLを起動してないだけかと思ったが、起動させようとするとエラー。

```terminal
$ mysql.server start
Starting MySQL
./usr/local/Cellar/mysql/8.0.16/bin/mysqld_safe: line 144: /usr/local/var/mysql/*******-puro.local.err: Permission denied
/usr/local/Cellar/mysql/8.0.16/bin/mysqld_safe: line 144: /usr/local/var/mysql/*******-puro.local.err: Permission denied
/usr/local/Cellar/mysql/8.0.16/bin/mysqld_safe: line 199: /usr/local/var/mysql/*******-puro.local.err: Permission denied
/usr/local/Cellar/mysql/8.0.16/bin/mysqld_safe: line 144: /usr/local/var/mysql/*******-puro.local.err: Permission denied
 ERROR! The server quit without updating PID file (/usr/local/var/mysql/*******-puro.local.pid).
```

## プロセスを確認してみる。
```terminal
$ ps ax | grep mysql
```
他に変なものが動いている気配は無い。

↓これにしても同様にエラー。

``` terminal
$ 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/*******-puro.local.pid).
```

## pidファイルを作ってみる
`mysql.server start`した時のエラーを読むと、 `/usr/local/var/mysql`配下のpidファイルが無いっぽいので作ってみる。

```terminal
$ touch ******-puro.local.pid
```
これでいざ起動！

```terminal
$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/*******-puro.local.pid).
```
これでも同様にエラーとなり起動できず。なぜ・・作ったのに。

## 権限周りの問題かもしれないと思い色々いじってみる
`chmod`で色々ファイルの権限をいじってみるも、うまく行かず。
（ここでキチンと権限を正常にさせれていればうまくいったのかも。でも詳しく無かった）

## 起動の度にpidファイルが消えることに気がつくも原因分からず
`touch ******-puro.local.pid`で作ったpidファイルが、起動させると何故か消える事に気が付いた。
ここでもう心が折れかけ、大事なデータもないためこの記事（↓）を参考にアンインストールすることに。
[mysqlがどうしても起動しない](https://qiita.com/_natsu_no_yuki_/items/ae4c94187093e4ab3cdc)

## そして結局再インストール
アンインストールして再インストール。

```terminal
$ brew uninstall mysql
$ brew install mysql
```
しかし、まさかの同様のエラー。

```terminal
mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/*******-puro.local.pid).
```
どうやら`/usr/local/var/mysql`はアンインストールでは消えないらしく、手動で削除。

```terminal
$ sudo rm -rf /usr/local/var/mysql
```
もう一度インストール。

```
$ brew uninstall mysql
$ brew install mysql
```
ようやく成功。

```terminal
$ mysql.server start
Starting MySQL
. SUCCESS! 
```

私みたいにMySQL初心者でハマりまくっている人は再インストールも検討してみてください。