背景:

Mysql 8.0 以后版本,在性能等方面有了很大提升,而且在自动编号、Timestamp等字段的设置上有了很方便的进步,因此在一年前即开始将原有的基于5.5版本的服务器逐渐向8.0转移。但转移的过程问题颇多,主要的几个障碍如下:

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 选项)

----------------

总结,mysql 对微软的运行时库有如此强烈的依赖,却不打包进去,当然是有原因的;但如此重量级的两个公司,居然没有一个好的安装包解决这些问题,实在令人费解。

六、本次安装用到的文件如下:

.Net 4.5.2框架

KB2919442

KB2919355

Visual C++ 系列运行库

其它内容均可从官网下载。

上述文件已放在我的百度网盘,请参考下载。链接: https://pan.baidu.com/s/1bpmX0Djjol_xudVKOO2Gzg 提取码: jafs

文件说明:网盘中的文件要多一些,大家可作参考。

安装Mysql 8.0的艰难体验的更多相关文章

  1. 在Ubuntu 18.04 安装 MySQL 8.0

    在Ubuntu 18.04 安装 MySQL 8.0 ① 登入 mysql 官网,在官网中下载 deb 包,点击该链接,即可下载. https://dev.mysql.com/downloads/re ...

  2. windows 系统如何安装 mysql 8.0.15 数据库?

    windows 系统如何安装 mysql 8.0.15 数据库? 1. 下载安装包 下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0. ...

  3. win10 安装mysql 8.0.18 解决Navicat初次连接报错

    win10 安装mysql 8.0.18 解决Navicat初次连接报错 win10 安装mysql 8.0.18-winx64 一,先去官网下载mysql 安装包 https://dev.mysql ...

  4. CentOS 7 下安装 MySQL 8.0

    前言 本篇文章主要介绍在 CentOS 7 环境下安装 MySQL 8.0. 正文 1. 配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/ 找到 ...

  5. Ubuntu18 安装 MySQL 8.0.22

    Ubuntu18 安装 MySQL 8.0.22 网上教程都比旧,也不是第一次安装了,但依然还是花了比较多的时间,特此记录本次安装过程.因是安装完毕后回忆记录,或有错漏. 第一步: 下载 mysql ...

  6. 在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0

    前段时间在 CentOS 7.5 64位上安装 MySQL 8.0.查了些资料,在这里记录一下详细的安装和设置步骤. 一.安装 使用yum安装MySQL之前需要先下载对应的.rpm文件,下载方法: 去 ...

  7. 超级简单!CentOS-8 安装 MySQL 8.0,比喝水还简单

    中国人不骗中国人 果然是系统和MySQL的版本越高安装越便利了 在阿里云的 CentOS-8 比喝开水还简单的安装 MySQL 8.0,开始~ 1.以 root 用户通过 CentOS 软件包管理器来 ...

  8. centos 8及以上安装mysql 8.0

    本文适用于centos 8及以上安装mysql 8.0,整体耗时20分钟内,不需要FQ 1.环境先搞好 systemctl stop firewalld //关闭防火墙 systemctl disab ...

  9. ubuntu 18.04 安装mysql 8.0

    1.下载配置(不然直接装的是mysql5.7): wget https://repo.mysql.com//mysql-apt-config_0.8.10-1_all.deb 2.更新配置: sudo ...

随机推荐

  1. vue echarts引用

    <template> <!--为echarts准备一个具备大小的容器dom--> <div id="main" style="width: ...

  2. 使用Fiddler抓取微信饿了么小程序数据

    使用Fiddler抓取微信饿了么小程序数据 准备 一部装载Android 7.0以下的手机:此处使用华为荣耀5x 微信小程序7.0以下版本:此处为6.6.7.此处可通过豌豆荚应用下载. 安装好的Fid ...

  3. java TreeSet的排序之定制排序

    TreeSet的自然排序是根据元素的大小进行升序排序的,若想自己定制排序,比如降序排序,就可以使用Comparator接口了: 该接口包含int compare(Object o1,Object o2 ...

  4. UVA 11992 ——线段树(区间修改)

    解题思路: 将矩阵每一行建立一棵线段树,进而变成一维问题求解.注意数组要开 4*N 代码如下: #include <iostream> #include <cstdio> #i ...

  5. Roslyn 使用 WriteLinesToFile 解决参数过长无法传入

    在写 Roslyn 的时候,经常需要辅助编译的工具,而这些工具需要传入一些参数,在项目很大的时候,会发现自己传入的参数比微软限制控制台可以传入的参数大很多,这时就无法传入了参数 本文告诉大家如何使用 ...

  6. element-ui tree 根据不同叶子节点设置是否显示复选框

    公司业务要求不同根节点配置显示与否复选框,官方文档没有这样的配置,所以想到了修改element-ui源码. 1.这里将“node_modules\element-ui\packages”下的tree文 ...

  7. 算法提高 密码锁 (BFS)

    问题描述 你获得了一个据说是古代玛雅人制作的箱子.你非常想打开箱子看看里面有什么东西,但是不幸的是,正如所有故事里一样,神秘的箱子出现的时候总是会挂着神秘的锁. 这个锁上面看起来有  N  个数字,它 ...

  8. Linux 内核中的数据类型

    在我们进入更高级主题之前, 我们需要停下来快速关注一下可移植性问题. 现代版本的 Linux 内核是 高度可移植的, 它正运行在很多不同体系上. 由于 Linux 内核的多平台特性, 打算做认真使用的 ...

  9. 【52.55%】【BZOJ 4520】K远点对

    Time Limit: 30 Sec  Memory Limit: 512 MB Submit: 588  Solved: 309 [Submit][Status][Discuss] Descript ...

  10. 【时区问题】SpringBoot+mybatis查询mysql的datetime类型数据时间差14小时

    [时区问题]MyBatis查询MySQL的datetime类型数据时间差14小时 故障解决方式 与数据库连接时,定义时区,避免mybatis框架从mysql获取时区.在连接上加上 serverTime ...