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
- 新建一个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,右键以管理员身份运行
进入 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数据库,导致一直出现密码错误。
第二个红圈标注的是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 把它删掉在重新安装。
重要的一步:
进入注册表将mysql8的值修改为:
"D:\mysql8\mysql-8.0.19-winx64\bin\mysqld" --defaults-file=D:\mysql8\mysql-8.0.19-winx64\my.ini mysql8
启动Mysql8服务
连接Mysql
这里我们使用navicat来连接
密码为上面初始化时候的密码。连接名自己设置
点击测试连接,连接成功就大功告成了。
注意:如果你出现了密码错误
- 密码错误
- 是否在完全按照我的命令输入的,可以打开系统服务找到mysql8服务看看属性里面的可执行文件路径是否为新的mysql8的执行路径,如果不是的话,把Data文件夹删除,按照我的指令重新做一遍。
修改密码
用Navicat点击刚刚的连接
就会提示我们输入新密码