背景:
Mysql 8.0 以后版本,在性能等方面有了很大提升,而且在自动编号、Timestamp等字段的设置上有了很方便的进步,因此在一年前即开始将原有的基于5.5版本的服务器逐渐向8.0.x 转移。但转移的过程问题颇多,主要的几个障碍如下:
1、需要各种visual c 的可发布版本;(8.0以后的小版本要求有所不同)
2、需要python 3.7版本。(8.0以后的小版本要求有所不同)
第一次安装时相对顺利,可能的原因是该服务器是一个“干净”的服务器,而且安装的是8.0.16版Mysql community Server要求较少;
而第二次安装则经历了一天一夜才安装完成,且使用了非同寻常的手段。下面以第二次安装的结果为例说明我是如何操作的。
第二次安装的基本环境如下:
1、操作系统:Wiindows Server 2012 R2 标准版;操作系统安装了最新补丁。
2、以前安装过Mysql 5.5.57版本;
3、目标安装版本:Mysql 8.0.19 community server
下面将我认为的较可行的方案记录如下,大家可作参考。
一、.Net Framework 4.5.2版本
这个是一切安装的前提,可以先行安装,且与其它不冲突。
二、visual c 系列运行时文件
8.0.19版本要求:Visual c 运行库的2010、2013、2015以及2015-2019版本。
这些运行时文件从微软的官方网站下载存在困难,且基本安装不成功。原因可能是:
一是可能与操作系统有关,下载的版本大都提示不适用于当前操作系统(可能主要是用于Win 7 或 Win 10等客户端操作系统);
二是会提示需要安装 KB2919355 更新后,才能安装。
因此应当先安装下一步。
三、KB2919355更新文件
KB2919355 更新文件下载后,直接安装仍然报错,提示是需要先安装 KB2919442更新。
而KB2919442 更新从微软官网下载不了,提示文件不存在。
最后从网上找了一个KB2919442(具体是哪位发布者和网站,确实不记得了),最后成功安装,而后安装了 KB2919355 。
四、安装Visual C 运行库文件
由于从官方下载的始终安装不成功,最后下载的是一个网上的打包后的文件,可以一次性安装所有运行时文件。(虽然成功安装,但实际上这些库文件与安装和运行 mysql 所要求的文件仍有区别,具体见后)
五、安装Mysql
前面的都在没有错误提示的情况下安装成功,Mysql 8.0.19的安装过程也没有问题,但在配置时出错,mysqld.exe 无法启动,初始化数据库不成功。
卸载重装依然如此;先安装 8.0.16 问题同样存在,均是在初始化数据库时报错,导致安装失败。
在经历了无数次的卸载、安装;旧版本安装、卸载;注册表清理、删除后,问题依然如故。
后来想,既然它要求安装visual c 库,那这个问题应该还是和这几个文件有关,倒不如直接安装一个 visual studio 2019,如果能够成功安装,那这些库应该就都没有问题了。于是下载 visual studio 2019进行安装(需要联网、需要具备 KB2919355更新,方能进行安装;可选几个安装文件小的选项安装即可,建议选中 python 选项)。
成功安装后,再回过头来,安装 Mysql 8.0.19 ,一切顺利,启动也正常。
8.0.19 要求 python.exe 3.7版本,安装 visual studio 时能成功安装(可能需要选择 python 选项)
六、本次安装用到的文件如下:
.Net 4.5.2框架
KB2919442
KB2919355
Visual C 系列运行库
其它内容均可从官网下载。
上述文件已放在我的百度网盘,请参考下载。链接: https://pan.baidu.com/s/1bpmX0Djjol_xudVKOO2Gzg 提取码: jafs
文件说明:网盘中的文件要多一些,大家可作参考。
----------------
总结:
1、mysql 对微软的运行时库有如此强烈的依赖,却不打包进去,当然是有原因的;但如此重量级的两个公司,居然没有一个好的安装包解决这些问题,实在令人费解。
2、Visual Studio 安装后可以卸载,不影响运行;另外,也许可以从 Visual studio 的安装包提取到相关文件,大家有兴趣可以一试。