同时安装MySQL 5.7与8.0版本

双版本MySQL安装指南

目录

一、MySQL下载


一、MySQL下载

1、MySQL 8.0 版本的安装地址:https://dev.mysql.com/downloads/mysql/

     MySQL 5.7 版本的安装地址:https://downloads.mysql.com/archives/community/

2、建议安装包下载解压即可,方便简单(8.0版本同理

3、然后解压到指定的文件夹即可,随后就开始配置环境变量

二、MySQL安装

1、配置环境变量:此电脑➡️属性➡️如下图,找到两个版本的bin,复制到Path

     !!!最后确认➡️确认➡️确认!!!

2、在 bin 的同级目录下新建 my.ini 文件

3、配置 my.ini 文件

1️⃣MySQL 5.7 版本,可以自己设置想设置的端口和模式(仅供参考)

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
#设置3357端口
port = 3357

# 设置mysql的安装目录和数据存放目录
basedir=D:\\DevelopTool\\MySQL\\mysql-5.7.42\\
datadir=D:\\DevelopTool\\MySQL\\mysql-5.7.42\\data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为UTF8
character-set-server=utf8

# 创建新表时将使用的默认存储引擎
# default-storage-engine=INNODB

skip-grant-tables #免登陆检查
 
#sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

2️⃣MySQL 8.0 版本,可以自己设置想设置的端口和模式(仅供参考)

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

[mysqld]
# 设置3380端口
port=3380

# 设置mysql的安装目录
basedir=D:\\DevelopTool\\MySQL\\mysql-8.4.2\\

# 设置mysql数据库的数据的存放目录
datadir=D:\\DevelopTool\\MySQL\\mysql-8.4.2\\data\\

# 允许最大连接数
max_connections=200

# 允许连接失败的次数。
max_connect_errors=10

# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4

4、正式安装5.7版本

1️⃣以管理员身份运行cmd,进入MySQL的bin目录下

提示:切换到D盘,直接输入 D: 即可

2️⃣初始化,输入如下命令后,会在MySQL根目录下会生成一个data文件夹

# 初始化
mysqld --initialize-insecure --user=mysql

3️⃣安装MySQL服务

  • 如果只安装一个版本,那么直接如下即可
    mysqld -install
  • 如果两个版本的话,就如下:⚠️注意:改成自己的路径
    mysqld install MySQL57 --defaults-file="D:\DevelopTool\MySQL\mysql-5.7.42\my.ini"

4️⃣安装成功

  

5️⃣找到注册表(可以 cmd 运行 regedit

  

路径为:HKEY_LOCAL_MACHINE➡️SYSTEM➡️CurrentControlSet➡️Services

      

6️⃣启动服务(要以管理员身份进入cmd

⚠️注意:服务名称的问题,这里设置的是MySQL57(注意灵活应变)

  

7️⃣登录MySQL57

  • 若安装时是默认3306端口,则登录命令:mysql -uroot -p
  • 若安装时其他端口,如3357,登录时的命令:mysql -P端口 -uroot -p

提示:会要你输入密码,但是之前配置已跳过密码,所以直接回车即可。

8️⃣修改密码

# 貌似不行,提示是因为设置了 skip-grant-tables option
1、 set password for 用户名@localhost = password('新密码');

# 可以用这个
2、update mysql.user set authentication_string=password('123456') where user='root'; 

# 然后刷新权限
3、flush privileges;

# 最后退出,重新登录即可
4、exit

5、mysql -P3357 -uroot -p

5、同理安装8.0版本

1️⃣管理员身份运行cmd,进入MySQL 8.0 的bin目录下

2️⃣与 5.7版本不同,这条命令不需要指定 my.ini 的路径

mysqld --initialize

3️⃣输入以下命令,MySQL80是自己设置的服务名称

mysqld install MySQL80

4️⃣启动MySQL80(注意:要以管理员身份运行cmd

net start MySQL80

5️⃣登录MySQL80

1、mysql -P3380 -uroot -p

2、到data文件夹下,查找.err类型的文件查看随机生成的密码

3、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

4、刷新
flush privileges;

5、退出
exit

然后重新登录验证密码。

### Windows 10同时安装 MySQL 5.7 8.0 的方法 #### 环境准备 为了在同一台 Windows 10 计算机上成功安装并运行两个不同版本MySQL 数据库服务器(即 MySQL 5.7 MySQL 8.0),需要特别关注端口冲突以及服务名称冲突等问题。以下是具体的解决办法。 --- #### 下载解压 下载对应版本MySQL 压缩包文件,分别针对 MySQL 5.7 MySQL 8.0 进行操作。 - **MySQL 5.7**: 可通过官方存档页面获取适合的压缩版软件[^1]。 - **MySQL 8.0**: 使用最新的稳定发行版进行下载安装。 需要注意的是,在解压过程中应遵循以下原则:先完成一个版本的解压工作后再处理另一个版本,这样可以有效减少潜在错误的发生概率[^3]。 --- #### 修改配置文件以避免端口冲突 每个实例都需要独立设置监听端口号来防止相互干扰。默认情况下,MySQL 使用 `3306` 作为其标准通信端口;因此对于第二个数据库引擎来说,则需指定其他未被占用的数值比如 `3307` 或者更高范围内的任意可用整数。 具体修改如下: ```ini # my.ini (for MySQL 5.7) [mysqld] port=3306 datadir=C:/ProgramData/MySQL/mysql-5.7-data/ # my_80.ini (for MySQL 8.0, custom name to avoid confusion) [mysqld] port=3307 datadir=D:/MySQL_Data/mysql-8.0-data/ ``` 上述例子展示了如何分别为这两个不同的 MySQL 实例分配各自的存储路径及网络接口参数[^4]。 --- #### 设置独特的服务名服务启动脚本调整 除了更改端口外,还需要确保每套系统的注册表项或者操作系统层面的服务标识符互不相同。可以通过编辑初始化命令中的选项实现这一点。 例如创建批处理文件用于自动化部署过程的一部分: ```batch :: Initialize MySQL 5.7 service with unique identifier "C:\path\to\mysql-5.7\bin\mysqld.exe" --install MySQL57 --defaults-file="C:\path\to\my.ini" :: Similarly initialize MySQL 8.0 but assign distinct label and reference alternative configuration file. "D:\another\location\mysql-8.0\bin\mysqld.exe" --install MySQL80 --defaults-file="D:\custom\configurations\my_80.ini" ``` 以上脚本片段说明了怎样利用自定义的名字(`MySQL57`, `MySQL80`)去区分同一机器上的多个 MySQL Server 安装实体。 --- #### 测试连接验证正常运作状态 最后一步就是确认所有的改动都生效并且能够正常使用新建立起来的数据管理系统组合。推荐借助图形界面工具如 HeidiSQL 或 Navicat 来简化多源链接管理流程,同时也支持手动测试 CLI 方式的登录尝试。 ```bash # Connect via command line specifying appropriate port number accordingly mysql -u root -p -P 3306 --protocol=tcp # For MySQL 5.7 instance mysql -u root -p -P 3307 --protocol=tcp # For MySQL 8.0 instance respectively ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值