记一次MySQL重新安装
今天想试一下MySQL8.0才有的 create role
语法,所以打算升级一下当前版本的sql
今天重装mysql的时候遇到的问题很多,而且网上的博客非常混乱,全是没有任何见解的照搬。
在进行版本升级的时候,MySQL5.7以上是支持自动迁移升级的,恰好我的偏低了一个,所以只能手动卸载和升级。
我第一次安装时,删除了注册表,目录,以及隐藏文件,新版本安装失败,开始排错。
碰巧我刚升级win11,我认为可能是部分路径有自动安装的时候,权限不够,导致安装的时候无法自动生成,进而导致服务无法启动(mysqld 是调用文件启动服务的)
然后,我就把我的win11回滚了,退回了win10(Ubuntu的引导也凉了,过几天再配,估计也麻烦)
在win10条件下,重新安装还是报错,有好几种可能:
1)可能安装的时候默认端口号 3306 被占用了,采用 netstat -aon|findstr "3306"
可以看到哪些进程占用了。但是我并没有发现
2)my.ini 配置出错。这个问题会有很多,比如,路径。但是,我之前配过也没有问题。
经过我排了很久的错误,发现在旧版本中全局变量 query_cache_type 被高版本删除了。我删除了该变量,必须将 data目录下的所有文件全部删除,它才能重新去调用mysqld --initialize --user=mysql --console
(因为data是根据 my.ini 所生成的)
总结:
1)配置错误产生后,一定要清除data里的所有内容
2)可以调用 mysqld --console
查看报错信息,逐一排错
3)升级版本一定要检查配置文件,减少自定义变量,减少冲突的可能性