Windows下配置多个Mysql版本

5个月前 (12-09) 0 点赞 0 收藏 0 评论 7 已阅读

0.前言

当前Windows10下已经安装了MySQL5.5.5版本,配置了开机自启动服务,端口设置为默认3306,也配置了环境变量%MYSQL5_HOME%\bin。现希望通过修改不同的环境变量来使用不同的MySQL版本(MySQL5.7及MySQL8.0)

1.准备工作

下载MySQL5.7版本

http://www.peise.net/pcsoft/295301.html

下载MySQL8.0版本

https://www.onlinedown.net/soft/10051470.htm

查看MySQL服务

打开服务列表窗口

当前数据库服务及启动参数

查看当前Mysql版本

当前数据库版本

当前环境变量Path

Path下的MySQL环境变量

2.安装及配置MySQL5.7

2.1安装软件

解压软件安装包,先安装红色方框中的两个软件(MySQL运行环境需要,不过如果本地已经安装过MySQL5.5版本,可忽略),然后根据Windows操作系统位数(本机为64位)安装对应msi文件。

首次安装软件

自定义安装路径到E:\MySQL\MySQL Server 5.7

2.2配置环境变量

在"我的电脑"右键->"属性"->"高级系统设置"->"系统属性"的"高级"->"环境变量"->"系统变量"中添加:

设置MySQL5.7环境变量

同时配置环境变量Path

修改Path下MySQL环境变量的值

以后切换不同MySQL版本只需要修改%MYSQL?_HOME%的值即可

2.3创建my.ini文件

创建data文件夹用于放置MySQL数据库数据

对应目录创建data文件夹及ini文件

创建my.ini文件用于配置MySQL启动配置,文件位置如上图,文件内容如下:

[mysqld]
# 设置3307端口,为了与旧版本的区分不冲突
port=3307
# 设置mysql的安装目录
# 切记此处一定要用斜杠\,我这里是斜杠可以用
basedir=E:\MySQL\MySQL Server 5.7
# 设置mysql数据库的数据的存放目录
datadir=E:\MySQL\MySQL Server 5.7\data
# 允许最大连接数
max_connections=300
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL8.0.4之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。
# 但因为当前有很多数据库工具和链接包都不支持“caching_sha2_password”,为了方便,我暂时改回了“mysql_native_password”认证插件。
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# SQL MODE设置,去掉了only_full_group_by
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=UTF8MB4

其中,因为我并不打算停掉原来的MySQL5.5的服务,所以使用了不同的端口3307

同时basedir及datadir的配置,请根据你具体配置路径进行设置

2.4创建数据库服务

使用管理员身份打开终端(cmd)窗口,同时切换至MySQL5.7安装目录的bin文件夹下

切换到对应目录

为MySQL5.7创建服务,同时指定其启动时指定配置文件

E:\MySQL\MySQL Server 5.7\bin>mysqld --install "MySQL5.7" --defaults-file="E:\MySQL\MySQL Server 5.7\my.ini"

注意:使用的是双引号(""),如果是无引号和单引号('')会无法生效,具体可以尝试一下(不嫌麻烦的话)

删除服务命令:sc delete xxx

命令窗口结果为:Service successfully installed.

此时能够在服务列表中查看到MySQL5.7服务

查看服务名

2.5初始化数据库

初始化MySQL5.7数据库

E:\MySQL\MySQL Server 5.7\bin>mysqld --initialize-insecure --user=mysql

初始化数据库,并设置默认root为空

启动MySQL5.7服务

E:\MySQL\MySQL Server 5.7\bin>net start MySQL5.7

也可以在服务列表中鼠标手动启动服务

此时,可以查看到服务已经启动

启动服务

2.6修改数据库密码

首次进入MySQL5.7数据库,默认密码为空,直接回车即可,由于本人已修改过密码,下图仅展示数据库版本

登陆MySQL5.7

修改root用户密码

mysql>update mysql.user set authentication_string=password('密码') where user='root' and Host='localhost';

刷新缓存使其生效

mysql>flush privileges;

2.7切换MySQL5.5版本

2.7.1修改环境变量切换

修改环境变量

修改Path下的MySQL环境变量

重启一个终端(cmd)窗口

登陆MySQL5.5

其实修改Path中的%MySQLx_HOME%只会影响使用cmd>mysql -uroot -p登陆的数据库版本

2.7.2指定端口切换

前提:服务列表中MySQL5.7、MySQL8.0服务已启动

切换到MySQL5.7版本

切换到MySQL5.7版本

切换到MySQL58.0版本

切换到MySQL58.0版本

端口设置在my.ini文件中配置

3.安装及配置MySQL8.0

与安装配置MySQL5.7步骤大同小异,无非就是添加、修改环境变量,ini配置文件,创建mysql服务,初始化数据库,修改数据库密码几个步骤。其中不同点如下:

my.ini文件

[mysqld]
# 设置3308端口
port=3308
# 设置mysql的安装目录
basedir=E:\MySQL\MySQL Server 8.0
# 设置mysql数据库的数据的存放目录,在安装mysql-5.7.30-winx64.zip版本的时候,此配置不可添加,否则mysql将无法启动。
datadir=E:\MySQL\MySQL Server 8.0\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 关闭ssl
#skip_ssl
# 配置时区
default-time_zone='+8:00'
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3308
default-character-set=utf8

不需要初始化数据库操作

修改密码

mysql>ALTER user 'root'@'localhost' IDENTIFIED BY '密码';

也希望你能自己动手配置一下,权当练习,嘿嘿~

PS:MySQL不同数据库版本的差别还是蛮大的!


Windows下配置多个Mysql版本

本文收录在
0评论

登录

忘记密码 ?

切换登录

注册