## 起因
原本已经装上的`5.7`版本是正常运行的,后来因为项目的需要,需要换个版本做测试,于是乎就使用`brew`安装了`8.0`版本的MySQL,然后启动后一连接就傻眼了,提示
```
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
```
## 查错
于是到网上一顿搜索,试了无数种方法都无效,在系统日志里也找不到报错,但是偶然间被我发现了MySQL的日志`/usr/local/var/mysql/pingguoiMac.local.err`,要注意上面的`pingguoiMac`是我Mac的名字,并不是死的。发现里面的日志长达好几兆(我才开了服务没多久),打开粗略看了一下,发现MySQL处于崩溃重启的无限循环中,赶紧`brew services stop mysql`先把服务停了,然后分析奔溃日志,发现第一处的错误是
```
[ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4000!
0x7fffb4f0f380 InnoDB: Assertion failure in thread 140736229077888 in file ut0ut.cc line 942
InnoDB: We intentionally genera