Win10下mysql5.5和mysql8.0.19共存

需求:由于之前做的项目用的是mysql5.5,而新接的项目指定用mysql8,需要myql5..5和8同时存在运行。

前提:电脑已经安装mysql5.5,先关闭mysql5.5的服务

安装目录:mysql 8 D:\mysql8\mysql-8.0.19-winx64

mysql5.5 C:\Program Files\MySQL\MySQL Server 5.5

初始化my.ini文件

解压zip文件到安装目录 D:\mysql8\mysql-8.0.19-winx64

mysql运行两个库 mysql两个版本共存_mysql运行两个库

  • 新建一个Data空文件夹
  • 新建一个my.ini文件,内容如下
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\mysql8\mysql-8.0.19-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql8\mysql-8.0.19-winx64\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=3306
default-character-set=utf8mb4

注意:

  • mysqld和client的端口号不能和mysql5.5的冲突,basedir和datadir按实际路径填写

初始化Mysql

在win10搜索框搜索cmd,右键以管理员身份运行

mysql运行两个库 mysql两个版本共存_sql_02

进入 D:\mysql8\mysql-8.0.19-winx64\bin目录

进入D盘的命令为 d:

输入命令:

mysqld --defaults-file=D:\mysql8\mysql-8.0.19-winx64\my.ini --initialize --console

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

mysql运行两个库 mysql两个版本共存_mysql_03

第二个红圈标注的是mysql8提供的初始密码12位。

注意:如果显示error: Found option without preceding group in config file: D:\mysql8\mysql-8.0.19-winx64\my.ini at line: 1

不要慌,这是因为你的my.ini文件编码为utf-8编码,用notepad该为ANSI编码就OK了。

安装Mysql服务

执行命令:

mysqld install mysql8 --defaults-file=D:\mysql8\mysql-8.0.19-winx64\my.ini

mysql8是我起的别名,后面的--defaults-file=D:\mysql8\mysql-8.0.19-winx64\my.ini一定要加上否则后面还会出现链接错误的mysql服务。

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

mysql运行两个库 mysql两个版本共存_初始化_04

重要的一步:

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

"D:\mysql8\mysql-8.0.19-winx64\bin\mysqld" --defaults-file=D:\mysql8\mysql-8.0.19-winx64\my.ini mysql8

mysql运行两个库 mysql两个版本共存_初始化_05

启动Mysql8服务

mysql运行两个库 mysql两个版本共存_sql_06

连接Mysql

这里我们使用navicat来连接

mysql运行两个库 mysql两个版本共存_mysql运行两个库_07

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

点击测试连接,连接成功就大功告成了。

注意:如果你出现了密码错误

  • 密码错误
  • 是否在完全按照我的命令输入的,可以打开系统服务找到mysql8服务看看属性里面的可执行文件路径是否为新的mysql8的执行路径,如果不是的话,把Data文件夹删除,按照我的指令重新做一遍。

修改密码

用Navicat点击刚刚的连接

就会提示我们输入新密码