windows下快速安装不同版本的mysql

前言

本文介绍如何在windows中快速的同时安装多个不同版本的mysql数据库,自定义端口,自定义存储位置,自定义是否开机启动mysql服务,可以方便的在本地测试不同版本的mysql数据库。

实验环境

win10版本:Microsoft Windows [版本 10.0.18363.900] x64

下载社区版的MySQL安装包

开发人员专区

https://dev.mysql.com/

下载中心

https://dev.mysql.com/downloads/

社区版mysql server下载

https://dev.mysql.com/downloads/mysql/

所有历史版本的下载

https://downloads.mysql.com/archives/community/

这里我们下载5.5 5.6 5.7三个版本的mysql。

由于我们是自定义端口、存储位置,所以使用解压缩的方式进行安装会比较方便,所以下载时选择下载压缩包格式的安装包。

在所有历史版本的下载页面下载不同版本的MySQL即可,如下:

MySQL5.5.62的下载https://downloads.mysql.com/archives/get/p/23/file/mysql-5.5.62-winx64.zip,如下图:

 

MySQL5.6.48的下载https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.48-winx64.zip,如下图

 

MySQL5.7.30的下载https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-winx64.zip,如下图:

MySQL5.5.62的安装

解压缩后添加配置文件

我们将mysql-5.5.62-winx64.zip解压到我们想要安装的目录,然后打开,里面又几个常用的mysql配置文件,如下图:

my-huge.ini

my-innodb-heavy-4G.ini

my-large.ini

my-medium.ini

my-small.ini

这五个配置文件针对不同大小系统的样例配置文件,small medium large huge heavy依次递增。

我们这里是演示安装,不使用这些配置文件,使用我整理的一个配置文件,内容如下:

# mysql 客户端的参数配置
[client]
default-character-set=utf8
# bin/mysqld 程序的参数配置
[mysql]
default-character-set=utf8
# bin/mysqld 程序的参数配置
[mysqld]
## 设置端口
port=3307
## 设置字符集
## 参考:https://docs.lvrui.io/2017/06/07/MySQL57%E5%AD%97%E7%AC%A6%E9%9B%86%E8%AE%BE%E7%BD%AE/
character-set-client-handshake=FALSE
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
## 设置mysql的安装目录,可以不设置,默认会读取到 bin/mysqld 程序上级目录
basedir=C:\msf\mysql\mysql-5.5.62-winx64
## 设置mysql数据库的数据的存放目录,可以不设置,默认会读取到 bin/mysqld 程序上级目录下的 data 目录
datadir=C:\msf\mysql\mysql-5.5.62-winx64\data
## 设置默认时区
## 参考:https://dev.mysql.com/doc/refman/5.6/en/time-zone-support.html
default-time-zone='+08:00'
## 设置大小写是否敏感,1表示不区分大小写,也是windows系统中的默认值
## 参考:https://dev.mysql.com/doc/refman/5.6/en/identifier-case-sensitivity.html
lower_case_table_names=1
## 设置mysql的服务端标识,在做多个mysql服务间数据同步时用以区分不同的mysql服务
server-id=1
## 是否开启log-bin日志记录,打开下面的注释就表示开启log-bin日志记录
log-bin=mysql-bin
## 设置log-bin日志记录的模式,有 STATEMENT ROW MIXED 三种模式
## 参考:https://dev.mysql.com/doc/refman/5.6/en/binary-log-setting.html
binlog-format=ROW
## 是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
## 参考:https://www.cnblogs.com/zping/p/9121959.html
symbolic-links=0
## 给innodb表设置独立表空间
## 参考:http://www.ttlsa.com/mysql/innodb-innodb_file_per_table/
innodb_file_per_table=1

根据配置文件的内容,我们在C:\msf\mysql\mysql-5.5.62-winx64\my.ini位置添加配置文件

测试启动

以管理员身份打开命令提示符窗口,执行下面的命令

C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.5.62-winx64\my.ini"

启动效果如下图

 

测试连接

启动一个新的cmd窗口,执行下面的命令,测试连接mysql

C:\msf\mysql\mysql-5.5.62-winx64\bin\mysql -P 3307 -u root

由于默认的root密码为空,所以可以直接登录,如下图:

关闭测试服务

经过测试,我们的配置文件没有问题,可以正常的启动mysql,接下来我们暂时先关闭mysql服务,在测试连接mysql的cmd窗口中执行下面的命令来关闭mysql服务

C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqladmin -P 3307 -u root shutdown

执行完命令后,启动mysql服务的cmd窗口中可能没有反应,如果没有反映的话,点一下回车,cmd就会回到可输入状态了,如下图:

添加windows服务,以windows服务的形式运行

接下来,我们将mysql5.5.62写入到windows的系统服务中,方便启动和停止,方法也很简单,但管理员身份打开的cmd窗口执行下面的命令就可以了

C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqld install MySQL5_5_62_3307 --defaults-file="C:\msf\mysql\mysql-5.5.62-winx64\my.ini"

其中 MySQL5_5_62_3307 是我们自己命令的服务名称,这里使用mysql版本号和服务端口号来命名

执行效果,如下图所示

此时,我们mysql5.5.62的windows服务就安装成功了,安装完服务后,启动和停止就比较简单了,执行下面的命令就可以了,很简单

net start MySQL5_5_62_3307

net stop MySQL5_5_62_3307

在任务管理器中查看我们刚才添加并启动的服务,如下图

在任务管理器窗口,我们继续“打开服务”,在服务列表中查看,如下图

可以看到,我们添加的服务,默认是自动启动的,也就是说开机后会自动启动,如果不想开机启动的话,可以修改下启动类型。

我们继续打开服务的属性看下,如下图

可以看到,服务的“可执行文件的路径”就是我们刚才执行服务安装路径时的命令的一部分,这个服务启动时就是执行的我们测试启动时所执行的命令,如下

C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.5.62-winx64\my.ini"

至此,我们的mysql5.5.62就安装完成了,我们再用数据连接工具Navicat for MySQL试一下,如下:

MySQL 5.6.48的安装

解压缩后添加配置文件

我们将mysql-5.6.48-winx64.zip解压到我们想要安装的目录,然后打开,如下图:

可以看到,这个版本中的根目录下,已经没有了那么多的样例配置文件,只有一个my-default.ini

这里同样是使用我整理的一个配置文件,但是将mysqld下的端口号修改为3308,同时也修改下basedir和basedata,如下:

根据配置文件的内容,我们在C:\msf\mysql\mysql-5.6.48-winx64\my.ini位置添加配置文件

测试启动

以管理员身份打开命令提示符窗口,执行下面的命令

C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.6.48-winx64\my.ini"

这里有一个可能会遇到的一个错误,系统提示“缺少msvcr100.dll无法运行”,需要安装下vcredist_x64,可以到下面这个地址进行下载

https://www.microsoft.com/en-us/download/confirmation.aspx?id=14632

启动效果如下图

测试连接

启动一个新的cmd窗口,执行下面的命令,测试连接mysql

C:\msf\mysql\mysql-5.6.48-winx64\bin\mysql -P 3308 -u root

由于默认的root密码为空,所以可以直接登录,如下图:

关闭测试服务

经过测试,我们的配置文件没有问题,可以正常的启动mysql,接下来我们暂时先关闭mysql服务,在测试连接mysql的cmd窗口中执行下面的命令来关闭mysql服务

C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqladmin -P 3308 -u root shutdown

执行完命令后,启动mysql服务的cmd窗口中可能没有反应,如果没有反映的话,点一下回车,cmd就会回到可输入状态了,如下图:

添加windows服务,以windows服务的形式运行

接下来,我们将mysql5.6.48写入到windows的系统服务中,方便启动和停止,方法也很简单,但管理员身份打开的cmd窗口执行下面的命令就可以了

C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqld install MySQL5_6_48_3308 --defaults-file="C:\msf\mysql\mysql-5.6.48-winx64\my.ini"

其中 MySQL5_6_48_3308 是我们自己命令的服务名称,这里使用mysql版本号和服务端口号来命名

执行效果,如下图所示

此时,我们mysql5.6.48的windows服务就安装成功了,安装完服务后,启动和停止就比较简单了,执行下面的命令就可以了,很简单

net start MySQL5_6_48_3308

net stop MySQL5_6_48_3308

在任务管理器中查看我们刚才添加并启动的服务,如下图

在任务管理器窗口,我们继续“打开服务”,在服务列表中查看,如下图

可以看到,我们添加的服务,默认是自动启动的,也就是说开机后会自动启动,如果不想开机启动的话,可以修改下启动类型。

我们继续打开服务的属性看下,如下图

可以看到,服务的“可执行文件的路径”就是我们刚才执行服务安装路径时的命令的一部分,这个服务启动时就是执行的我们测试启动时所执行的命令,如下

C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.6.48-winx64\my.ini"

至此,我们的mysql5.6.48就安装完成了,我们再用数据连接工具Navicat for MySQL试一下,如下:

MySQL 5.7.30的安装

解压缩后添加配置文件

我们将mysql-5.7.30-winx64.zip解压到我们想要安装的目录,然后打开,如下图:

 

可以看到,这个版本中的根目录下,已经没有了样例配置文件,同时data目录也没有了,所以这个版本的安装方式跟5.5和5.6略有不同。

这里同样是使用我整理的一个配置文件,但是将mysqld下的端口号修改为3309,同时也修改下basedir和basedata,如下:

根据配置文件的内容,我们在C:\msf\mysql\mysql-5.7.30-winx64\my.ini位置添加配置文件

测试启动

由于这个版本中并没有data目录,所以需要我们先执行下初始化操作

在管理员身份打开的命令提示符窗口中执行,注意一定要加--console参数,不然看不到生成的root初始密码

C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld --initialize --console

这里有一个可能会遇到的一个错误,系统提示“缺少msvcr120.dll无法运行”,需要安装下vcredist_x64 2013,可以到下面这个地址进行下载

https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40784

initialize的执行结果如下图

注意,我标红圈起来的是root的初始密码

执行完成后,我们看下C:\msf\mysql\mysql-5.7.30-winx64\data,这个目录中已经有了类似5.5 5.6版本中data目录中的文件

然后执行下面的命令,测试启动,注意加--console参数,不然会没有任何的输出信息

C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.7.30-winx64\my.ini" --console

启动效果如下图

测试连接

启动一个新的cmd窗口,执行下面的命令,测试连接mysql

C:\msf\mysql\mysql-5.7.30-winx64\bin\mysql -P 3309 -u root -p

<7.lazkbb=OE

5.7版本,root必须使用密码登录,而且使用初始密码等后,必须修改密码,不然无法执行任何的命令,如下图中的提示信息

所以我们需要先重置下root密码

set password = password('root');

重置root密码后就可以正常的执行命令了,如下图:

关闭测试服务

经过测试,我们的配置文件没有问题,可以正常的启动mysql,接下来我们暂时先关闭mysql服务,在测试连接mysql的cmd窗口中执行下面的命令来关闭mysql服务

C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqladmin -P 3309 -u root -p shutdown

root

执行完命令后,启动mysql服务的cmd窗口中可能没有反应,如果没有反映的话,点一下回车,cmd就会回到可输入状态了,如下图:

添加windows服务,以windows服务的形式运行

接下来,我们将mysql5.7.30写入到windows的系统服务中,方便启动和停止,方法也很简单,但管理员身份打开的cmd窗口执行下面的命令就可以了

C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld install MySQL5_7_30_3309 --defaults-file="C:\msf\mysql\mysql-5.7.30-winx64\my.ini"

其中 MySQL5_7_30_3309 是我们自己命令的服务名称,这里使用mysql版本号和服务端口号来命名

执行效果,如下图所示

此时,我们mysql5.7.30的windows服务就安装成功了,安装完服务后,启动和停止就比较简单了,执行下面的命令就可以了,很简单

net start MySQL5_7_30_3309

net stop MySQL5_7_30_3309

在任务管理器中查看我们刚才添加并启动的服务,如下图

在任务管理器窗口,我们继续“打开服务”,在服务列表中查看,如下图

可以看到,我们添加的服务,默认是自动启动的,也就是说开机后会自动启动,如果不想开机启动的话,可以修改下启动类型。

 

我们继续打开服务的属性看下,如下图

可以看到,服务的“可执行文件的路径”就是我们刚才执行服务安装路径时的命令的一部分,这个服务启动时就是执行的我们测试启动时所执行的命令,不同的是我们没有添加--console参数,如下

C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.7.30-winx64\my.ini"

 

至此,我们的mysql5.7.30就安装完成了,我们再用数据连接工具Navicat for MySQL试一下,如下:

 

总结

实现windows下不同版本mysql同时安装,首先是使用免安装版的mysql压缩包进行解压安装,其次是不同的版本要通过配置文件设置不同的端口,最后是将mysql服务写入windows的服务列表中(这样启动和关闭就很方便,设置开机启动或者不启动也很方便)。

本文说的是不同版本的mysql安装,其实相同版本同时部署多个mysql服务也是没问题的,只需要修改端口号、安装目录、数据目录即可,有兴趣的朋友可以尝试下。

 

 

 

 

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值