Win10下同时安装并运行两个不同版本的MySQL数据库

在安装前,先将以前的Mysql版本都卸载干净,以免出现不必要的麻烦。

下载MySQL版本

我下载的两个版本分别为MySQL 5.7.32和MySQL 8.0.23。

官方下载页面:https://dev.mysql.com/downloads/mysql/

点击第一个下载按钮,如果要下载以前的版本,点击箭头所指示的地方

安装MySQL

配置文件

解压下载好的安装包,我的放在E盘下。然后在E:\mysql-5.7.32-winx64目录下新建一个my.ini配置文件。将下面的内容复制到该文件上。

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置端口
port = 3305
# 设置mysql的安装目录
basedir=E:\\mysql-5.7.32-winx64
# 设置mysql数据库的数据的存放目录(自动生成,不然可能报错)
datadir=E:\\mysql-5.7.32-winx64\\data
# 允许最大连接数
max_connections=10000
# 允许最大连接人数
max_user_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 连接时间
wait_timeout=31536000
interactive_timeout=31536000

注意:

(1)因为要在同一个系统安装两个不同版本的MySQL数据库,所以端口号不能一样。我MySQL 5使用的是3305,MySQL 8使用的是3306。

(2)basedir是设置你安装数据库时的路径。

(3)datadir是设置你数据库中的数据库文件存放的路径。

初始化

以管理员身份运行cmd,进入E:\mysql-5.7.32-winx64\bin目录,然后输入以下指令初始化数据库。

mysqld --initialize --console

指令执行后,会生成一堆信息,找到root@localhost:后面的信息,那就是你数据库的初始密码(随机生成)。

MySQL服务安装,登录,修改密码

输入以下指令进行MySQL服务的安装,服务名称任取,不填则默认为mysql。我的叫“MYSQL5”。

mysqld install [服务名称]

启动MySQL服务

net start [服务名称]

登录,输入以下指令后回车,然后输入刚刚获得的密码,回车。不出意外出现以下结果则表示登录成功。至此,MySQL 5.7.32安装成功。

mysql -u root -P [端口号] -h localhost -p 

登录后,输入以下指令,修改初始密码。然后输入指令exit即可退出登录。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

image

MySQL 8.0.23安装

安装步骤跟上面的一样,只是配置文件、端口号、服务名称需要更改。

MySQL 8的配置文件如下(端口号不能与MySQL5的相同)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=E:\\mysql-8.0.23-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\\mysql-8.0.23-winx64\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

遇到的问题

(1)发生系统错误5。拒绝访问。

处理方法:记得以管理员身份运行cmd,不然权限不够。

(2)ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

我是在登录第二个版本的数据库时,输入密码后出现的错误。然后到网上查了一些资料,发现原因是在注册表中,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL5目录下的ImagePath值与HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL8目录下的一样,只要修改MYSQL8的ImagePath值即可解决。

image

处理方法:修改MYSQL8的ImagePath值。

改之前:

改之后:

数据库的卸载(压缩包版)

1、先停止数据库服务。

net stop [服务名称]

2、然后删除数据库服务。

mysqld -remove [服务名称]

3、接着将当初解压的文件夹删掉。

4、然后打开注册表编辑器,找到以下几个目录然后删掉(有的话就删)。

HEKY_LOCAL_MACHINE\SOFTWARE\MYSQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL

5、重启电脑即可。

posted @ 2021-03-15 14:57  一鹿顺风117  阅读(2026)  评论(0编辑  收藏  举报