背景:

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. H3C PPP协议的组成

  2. jQuery-自己封装的弹框

    (function () { CDK={ cfm:function(resFun,errFun){ var confirm=document.createElement('div'); confirm ...

  3. 性能测试基础-开门篇3(LR常用函数介绍)

    LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("102 ...

  4. linux /proc 接口和共享中断

    在系统中安装共享处理者不影响 /proc/stat, 它甚至不知道处理者. 但是, /proc/interrupts 稍稍变化. 所有同一个中断号的安装的处理者出现在 /proc/interrupts ...

  5. 【record】#10

    反正最近就一直在1600分左右徘徊;好想回蓝名啊

  6. Visual Studio Team Services使用教程【2】:添加团队成员

    2017.4.23之后建议朋友看下面的帖子 TFS2017 & VSTS 实战(繁体中文视频) Visual Studio Team Services(VSTS)与敏捷开发ALM实战关键报告( ...

  7. jdk8下面的ArrayList的扩容

    一. ArrayList class ArrayList<E> extends AbstractList<E> implements List<E>, Random ...

  8. 0013 CSS复合选择器:后代、子代、交集、并集、超链接伪类

    重点: 复合选择器 后代选择器 并集选择器 标签显示模式 CSS背景 背景位置 CSS三大特性 优先级 1. CSS复合选择器 目标 理解 理解css复合选择器分别的应用场景 应用 使用后代选择器给元 ...

  9. JWT实现分布式Session

    JWT是什么 JWT一看就是简称,它的全称JSON Web Token,从字面上我们看出 1.数据是JSON格式 2.用于Web应用 3.是一个Token,也就是一个令牌方式 看看官方的说明,它定义了 ...

  10. 014 Ceph管理和自定义CRUSHMAP

    一.概念 1.1 Ceph集群写操作流程 client首先访问ceph monitor获取cluster map的一个副本,知晓集群的状态和配置 数据被转化为一个或多个对象,每个对象都具有对象名称和存 ...