【Windows上同时安装两个不同版本MYSQL】MySQL安装教程--5.7和8.0版本

一、MySQL官网下载对应版本的zip文件

最新版本8.0.34下载链接:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

MySQL 5.7下载链接:https://downloads.mysql.com/archives/community/
在这里插入图片描述

二、将下载到的压缩包解压到指定目录

使用解压工具将下载到的压缩包解压:如:解压到D:/software/目录下(自己选择),解压之后建议重命名该解压出来的文件:如mysql-8.0.34-winx64文件夹名,可将后面的winx64去掉,得到mysql-8.0.34(方便查看和理解,此处可不修改,但后续内容需对应更改)
在这里插入图片描述

三、添加环境变量

右键我的电脑->属性->高级系统设置->环境变量

选择系统变量Path,在其后添加:你的mysql安装文件下面的bin文件夹
在这里插入图片描述

四、在与bin同级的文件夹下新建,my.ini文件(注意:此处5.7版本和8.0版本操作不同)

在这里插入图片描述

4.1、编辑my.ini文件的内容(MySQL 5.7版本,路径改为自己电脑上对应的路径)

[mysqld]

basedir=D:\\software\\mysql-5.7\\

datadir=D:\\software\\mysql-5.7\\data\\

port=3306

skip-grant-tables #免登陆检查

4.2、编辑my.ini文件的内容(MySQL 8.0版本,不需要加skip-grant-tables,路径改为自己电脑上对应的路径)

[mysqld]

basedir=D:\\software\\mysql-8.0.34\\

datadir=D:\\software\\mysql-8.0.34\\data\\

port=3307

注意:此处如果是\,会报错,修改为\\,且端口号需要自行调整

五、启动管理员模式下的CMD,并将路径切换至mysql下的bin目录,然后输入:mysqld -install(安装mysql)

1.启动管理员模式下的CMD

在这里插入图片描述

2.将目录切换到解压的mysql文件中的bin文件夹的位置:

输入:cd /d D:\software\mysql-8.0.34\bin (路径换为你电脑对应的位置即可)
在这里插入图片描述

3.此时输入:mysqld -install (安装mysql服务)

这种安装方式服务名默认为MySQL,如果已有同名服务名,安装方式参考目录十二第二种安装方式

命令行界面出现:Service successfully installed.即可
在这里插入图片描述
图中是已装了的情况。

六、再输入 mysqld --initialize-insecure --user=mysql初始化数据文件

输入之前目录如下:
在这里插入图片描述

执行 mysqld --initialize-insecure --user=mysql(没输出ERROR信息则没报错)

在这里插入图片描述
执行成功:生成data和docs文件夹
在这里插入图片描述

data文件夹,即为存储数据库的地方,之前有数据库可拷贝到该目录下就可以使用了。
在这里插入图片描述

七、启动mysql,然后用命令 mysql -uroot -p 进入mysql管理界面

7.1、控制台继续输入: net start mysql

在这里插入图片描述
在这里插入图片描述

7.2、再输入:mysql -h127.0.0.1 -P3307 -uroot

在这里插入图片描述
直接输入回车,就可以进入到mysql管理界面(因为我们没有密码)。
其中-h 参数指定连接的主机名(或 IP 地址),-P (大写的P)参数指定连接的端口号,-u 参数指定连接的用户名。
注意:由于已经安装了mysql5.7版本,直接使用mysql -uroot -p 会进入mysql5.7服务,无法进入mysql8.0,所以此时,需要指定连接的端口号

八、进入界面后更改root密码(注意:此处5.7版本和8.0版本操作不同)

1、mysql 5.7版本,输入:
update mysql.user set authentication_string=‘password(123456’) where user=‘root’ and host=‘localhost’;
在这里插入图片描述

出现图上内容,则修改密码成功了。

2、mysql 8.0版本,依次输入:

use mysql;
ALTER user root@'localhost' identified by '123456';

如图即修改成功。
在这里插入图片描述
注意:这种修改方式,用Navicat连接时,会出现问题。解决方法在后面遇到的问题

最后两个版本都输入:flush privileges; 进行刷新权限。
在这里插入图片描述

九、修改my.ini文件,删除最后一行skip-grant-tables免密登录(注意:此步只有5.7版本需要)

[mysqld]

basedir=D:\software\mysql-5.7\

datadir=D:\software\mysql-5.7\data\

port=3306

十、重启mysql即可正常使用

十一、使用修改的密码登录mysql

十二、mysql8.0版本第二种安装方式

服务名不可与已安装服务名重复,这里命名的服务为:MySQL80
1、执行命令 mysqld install MySQL80 --defaults-file=“D:\software\mysql-8.0.34\my.ini” ,出现Service successfully installed 表示服务安装成功
2、再输入 mysqld --initialize-insecure --user=mysql初始化数据文件
3、执行net start MySQL80 命令,启动服务

D:\software\mysql-8.0.34\bin>net start MySQL80
MySQL80 服务正在启动 .
MySQL80 服务已经启动成功。

4、执行mysql -h127.0.0.1 -P3307 -uroot -p123456命令,登录数据库
注:-P3307,MySQL8的端口号为3307

D:\software\mysql-8.0.34\bin>mysql -h127.0.0.1 -P3307 -uroot -p123456

———————————————————————————————————————————

附:遇到的问题

1、使用Navicat连接时,出现以下错误

在这里插入图片描述

主要原因是mysql服务器要求的认证插件版本与客户端不一致造成的。

打开mysql命令行输入如下命令查看,系统用户对应的认证插件:
在这里插入图片描述

可以看到root用户使用的plugin是caching_sha2_password,mysql官方网站有如下说明:
在这里插入图片描述

意思是说caching_sha2_password是8.0默认的认证插件,必须使用支持此插件的客户端版本。

plugin的作用之一就是处理后的密码格式和长度是不一样的,类似于使用MD5加密和使用base64加密一样对于同一个密码处理后的格式是不一样的。

1.1、解决

1.查看用户信息

select host,user,plugin,authentication_string from mysql.user;

2.修改用户密码(最好直接复制粘贴,手敲可能会报错)

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

更新user为root,host为% 的密码为123456

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

更新user为root,host为localhost 的密码为123456

备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

2、在安装Mysql 8 的过程中报错 mysqld: Can’t create directory …

在初始化mysql的时候执行mysqld --initialize-insecure --user=mysql遇到一个报错 mysqld: Can’t create directory … (OS errno 2 - No such file or directory)。

在网上搜了一遍,终于找到问题所在。
其实就是my.ini文件出了问题。
mysql 8 的配置文件中basedir 和 datadir 的路径格式不对!!!
网上贴的教程很多都是这样的:
在这里插入图片描述

#设置mysql的安装目录
basedir=D:\software\mysql-8.0.34\
#设置mysql数据库的数据的存放目录
datadir=D:\software\mysql-8.0.34\data

实际应该是这样的
在这里插入图片描述

需要用双斜杠

#设置mysql的安装目录
basedir=D:\\software\\mysql-8.0.34\\
#设置mysql数据库的数据的存放目录
datadir=D:\\software\\mysql-8.0.34\\data

———————————————————————————————————————————

借鉴文章

MySQL安装完整教程–5.7和8.0版本
Mysql 解决1251 client does not support …问题
Mysql 8安装报错Can‘t create directory问题解决
windows环境下操作,同一台机器 如何跑两个mysql服务?

在Mac下同时安装MySQL 5.78.0是可行的。以下是详细的安装步骤: 1. 下载MySQL的DMG安装包。你可以从MySQL官方网站(https://dev.mysql.com/downloads/mysql/)上下载适用于Mac的安装包。 2. 双击DMG文件,启动安装程序。选择"MySQL Server" ,然后点击"Continue"继续。 3. 在安装类型选择界面,选择"Customize..."来自定义安装。这将允许你同时安装两个版本MySQL。 4. 在下一个界面中,你可以看到许多组件,包括MySQL Server、MySQL Workbench等。取消勾选所有项目,然后按照以下步骤为每个版本MySQL进行选择: - 点击"MySQL Server" ,然后点击"Expand"展开选项。 - 取消勾选"MySQL Server" ,然后选择要安装的特定版本5.78.0)。 - 点击"MySQL Workbench" 并取消勾选。 5. 继续点击"Continue",然后点击"Install"开始安装。 6. 在安装过程中,你将需要提供管理员权限密码。 7. 安装完成后,可以在"Applications"文件夹中找到安装MySQL版本5.7版本8.0版本均可分别找到。 8. 分别启动5.78.0版本MySQL。你可以使用"System Preferences"的"MySQL"面板来启动、停止或重新启动MySQL。 9. 运行不同版本MySQL时,确保它们使用不同的端口号,默认情况下5.7使用端口3306,而8.0使用端口3307。你可以在"/etc/my.cnf"配置文件中更改端口号。 这样,你就可以在Mac上同时安装两个版本MySQL了。你可以通过不同的端口号或使用不同的命令访问和管理它们。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值