温馨提示:本篇文章在已经安装了mysql8.0版本的基础上进行,并且最终为8.0版本与5.7版本同时 存在
电脑已经安装了8.0版本的,但是因为项目需要,就想要再安装一个5.7版本的数据库,踩坑太多。。。写下这篇文章希望对有同样烦恼的友友们有帮助。
步骤如下:
1.官网下载想要的5.7版本包并解压,下载网址MySQL :: Download MySQL Community Server (Archived Versions)
2.我下载到了D盘,注意尽量不要出现中文路径,以减少不必要的麻烦,下载之后需要手动添加my.ini文件,我是直接复制了8.0版本的my.ini文件,并且修改端口号为3307
my.ini文件
[mysqld]shared-memory# 设置3307端口port=3307# 设置mysql的安装目录 basedir=D:/mysql-5.7.40-winx64# 设置mysql数据库的数据的存放目录datadir=D:/mysql-5.7.40-winx64/data# 允许最大连接数max_connections=200# 允许连接失败的次数。max_connect_errors=10# 服务端使用的字符集默认为utf8mb4character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 默认使用“mysql_native_password”插件认证#mysql_native_passworddefault_authentication_plugin=mysql_native_password[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[client]# 设置mysql客户端连接服务端时默认使用的端口port=3307default-character-set=utf8mb4
3.配置环境变量并且关闭原来的MySQL服务
高级系统设置-环境变量-系统变量path-编辑-新建-复制bin文件夹所在目录-确定,参考我的下载目录输入的是D:\mysql-5.7.40-winx64\bin,这里我删掉了原来版本的路径,只保留了5.7版本的。
关闭原来的MySQL服务步骤:此电脑-右键管理-服务和应用程序-服务-找到原来的MySQL-停用此服务,如下已关闭
4.以管理员身份打开cmd命令窗口,进入到bin路径下,执行命令参考如下:
C:\Users\86133>d:
D:\>cd mysql-5.7.40-winx64
D:\mysql-5.7.40-winx64>cd bin
D:\mysql-5.7.40-winx64\bin>mysqld install Mysql2 –defaults-file=”D:mysql-5.7.40-winx64\my.ini”
Service successfully installed.
注意:这里的Mysql2防止服务名与已经安装的服务名重复,可自行命名
5.安装后初始化数据库,在bin目录下执行 mysqld –initialize –console,初始化后会生成data文件夹,并且会在最后一行root@localhost:后显示初始生成的密码,用于后续登录;
6.输入net start Mysql2启动服务,发现以下问题
可以参考这篇文章:MySQL 服务正在启动.MySQL 服务无法启动.服务没有报告任何错误。请键入 NET HELPMSG 3534 以获得更多的帮助。总结较全 (已解决) – 知乎 (zhihu.com)
我的问题在于MySQL服务的可执行文件路径不正确:
右键我的电脑—>管理—>服务—>找到自己mysql的服务—>右键属性打开,我发现我的Mysql2的路径中还使用的是原来8.0版本的路径,修改步骤如下:
win+R输入regedit,按一下路径找到Mysql2的服务注册表,我是参考了我8.0版本的修改ImagePath为D:\mysql-5.7.40-winx64\bin\mysqld Mysql2,点击确定
7.修改完上述后,我重新输入net start Mysql2启动服务,发现出现了如下问题,经过查阅其他人的经验,删除掉了刚开始自己创建的data文件夹,然后重新启动后就成功了。
删除data文件夹之前报错
删除后重新启动,终于启动成功了
8.启动服务后在bin目录下使用mysql -u root -p登录,密码为初始化时生成的密码,登录上去之后可以采用alter user ‘root’@‘localh’ identified with mysql_native_password by ‘新密码’ 命令修改为自己想要的密码。
以上仅是我个人安装过程中遇到的问题,希望对大家有所帮助吧。