Windows部署多版本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,如下图:

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

启动效果如下图

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服务也是没问题的,只需要修改端口号、安装目录、数据目录即可,有兴趣的朋友可以尝试下。

 

声明:本片文章转载自https://blog.csdn.net/amnb123/article/details/107598902