mysql | 如何从 5 过渡到 8
source link: https://benpaodewoniu.github.io/2023/01/03/mysql16/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
公司中经常有测试相关的人,需要将 5
过度到 8
版本,但是,总是会出现这样那样的问题,这里根据我的经验进行汇总。
注意,环境均在 win10
上。
卸载 mysql5「默认 exe 安装方式」
首先,很难把 mysql5
卸载干净,总是会出现这样那样的残留,但是,我觉得问题不大。究其原因,因为绿色版本安装的时候,会重新把 MySQL
指向你安装的版本,即便是卸载不干净也是不耽误使用。
但是,为了少出错,还是卸载干净的好。
win + R
输入 services.msc
。停掉 MySQL
或者 MySQL80
服务。
为什么会有 MySQL 或者 MySQL80 呢?这两个都是 mysql 的服务,只不过 exe 安装方式,默认 mysql 服务的名字叫做 MySQL80,而有时候你会自定义这个名字,或者绿色安装的时候你的配置文件写的服务名字是 MySQL,参考 安装 mysql 中 win10安装过程 绿色安装版本「推荐」的 「将mysql注册为windows系统服务」的执行命令。
win10
自带的卸载程序,把相关的程序都卸载掉。
删除 MySQL 相关文件和目录
C:/ProgramData/MySQL/
C:\Program Files\MySQL
C:\Program Files(x86)\MySQL
上面的文件夹有就删除,没有的话,可以看看 my.ini
配置文件中的路径是什么,找不到的话,就不管了。
删除注册表
win + R
输入 regedit
,删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 文件夹
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 文件夹
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
有就删除,没有就不用管
所有的弄完后重启。
ps: 从道理上来讲,可能已经卸载干净了,但是,总会有或多或少的残余或者不知名情况,我觉得不用过于纠结。
检测 mysql 残留
为什么还要检测 mysql
残留呢?
考虑这样一种情况,你电脑上的 mysql 根本不是单独安装的,而是某一个程序中的一个组件,所以,即便是你把程序卸载了,但是,那个组件一开启还是会重新安装 MySQL。具体案例请看 mysql | 记录一次远程协助安装 mysql 的经历
可以通过 MySQL client
或者 Nvicat
进行检测。
安装 mysql 绿色安装
具体请参考 安装 mysql win10安装过程 绿色安装版本「推荐」。
可能出现的错误
Navicat连接MySQL数据库的1251错误
这是因为 mysql5
的密码连接方式是明文连接,但是 8
以后,默认加密连接。但是,你的 nvicat
有可能是原来的连接 5
的配置,或者没有对 8
进行更改。
如果,只是本地使用的话,可以让 mysql8
的加密方式进行降级,变成明文连接。
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
命令毫无反应
任何 MySQL
命令都毫无反应,没有成功,也没有失败。
一般就解决了。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK