Win10下mysql5.7和mysql8.0共存

前言

需求:由于之前做的项目用的是mysql5.7,而新接的项目指定用mysql8,需要myql5.7和8同时存在运行。
前提:电脑已经安装mysql5.7,先关闭mysql5.7的服务
安装目录:D:\Program\mysql-8.0.39
mysql5.7 C:\Program Files\MySQL\MySQL Server 5.7

下载

【参考博客】 mysql运行两个库 mysql两个版本共存

最新版本8.0下载链接:https://dev.mysql.com/downloads/mysql/

初始化my.ini文件

解压zip文件到安装目录 D:\Program\mysql-8.0.39

  • 新建一个data空文件夹
  • 新建一个my.ini文件,文本格式为ANSI,内容如下
[mysqld]
# 设置3306端口
port=3308
# 设置mysql的安装目录
basedir=D:\Program\mysql-8.0.39
# 设置mysql数据库的数据的存放目录
datadir=D:\Program\mysql-8.0.39\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为
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=3308
default-character-set=utf8mb4

注意:
mysqld和client的端口号不能和mysql5.7的冲突,basedir和datadir按实际路径填写

初始化MySQL80

在win10搜索框搜索cmd,右键以管理员身份运行
进入 D:\Program\mysql-8.0.39\bin目录
输入命令:

mysqld --defaults-file=D:\Program\mysql-8.0.39\my.ini --initialize --console

控制台会有一行
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: dy8vn%Z<%gt<

** 注意:有的教程只输入这个命令 mysqld --initialize --console 如果只是安装mysql8是没问题的,如果同时还存在一个mysql其他版本,在链接数据库时会默认链接到之前的mysql5.7数据库,导致一直出现密码错误。**

注意:如果显示error: Found option without preceding group in config file: D:\Program\mysql-8.0.39\my.ini at line: 1
不要慌,这是因为你的my.ini文件编码为utf-8编码,用notepad该为ANSI编码就OK了。

安装Mysql服务

执行命令:

mysqld install MySQL80 --defaults-file=D:\Program\mysql-8.0.39\my.ini

执行命令后,window服务出现,它的执行文件路径为
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --defaults-file=D:\Program\mysql-8.0.39\my.ini MySQL80

注意:如果显示The service already exists,说明目前还有mysql8这个服务,用 指令:sc delete mysql8 把它删掉在重新安装。

重要的一步:

win + R 输入regedit,进入注册表
找到

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80

进入注册表将mysql8的,将 ImagePath修改为:

"D:\Program\mysql-8.0.39\bin\mysqld" --defaults-file=D:\Program\mysql-8.0.39\my.ini MySQL80

window服务页面,MySQL80的可执行路径,同步会变为该路径

启动Mysql8服务

在windows服务页面启动或 net start MySQL80

连接Mysql

密码为上面初始化时候的密码。连接名自己设置

修改密码

用Navicat点击刚刚的连接

就会提示我们输入新密码

posted @ 2024-08-24 17:23  一只桔子2233  阅读(13)  评论(0编辑  收藏  举报