Windows系统安装2个版本得的MySQL

news2025/1/18 8:53:26

一、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 -P3306 -uroot -p123456命令,登录数据库

D:\software\mysql-8.0.34\bin>mysql -h127.0.0.1 -P3306 -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

借鉴文章

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1197176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

keil仿真错误:*** error 65: access violation at 0x40021000 : no ‘write‘ permission

按下图打开: 进行修改: 我用的芯片是:STM32F103C8T6 开始仿真: 成功解决不能仿真问题

【Linux(0)】为什么要学习Linux,为什么互联网公司在招聘时,会提出要有Linux经验,及其使用;一些Linux常见指令

前言 💓作者简介: 加油,旭杏,目前大二,正在学习C,数据结构等👀 💓作者主页:加油,旭杏的主页👀 ⏩本文收录在:再识C进阶的专栏&#x1…

ROS 学习应用篇(三)服务Server学习之Server

话题Topic是订阅器与发布器节点之间的,而服务则是客户端(Client)和服务器(Server)间的,前者是异步的,后者是同步的。而且话题是单项的不需要服务器上线,而服务是双向的。在开启服务之…

python中的异常与模块

异常 为了能够让代码可以正常的运行下去,不会因为某个语句而让程序崩溃,所以我们就需要使用异常,异常的语法格式如下: try:可能出现异常的语句 except:出现异常之后的处理同时python也是支持捕获指定异常的 try:可能出现异常的…

Linux基础开发工具之分布式版本控制系统Git

文章目录 1.Git是什么?1.1介绍1.2影响世界的大牛1.3English Words 2.Git常用指令2.1Git三板斧2.2解决冲突2.3黑名单文件2.4删除本地远端 1.Git是什么? 1.1介绍 史上最浅显易懂的Git教程! git是一个软件 gitee/github是一个网站但是他们的主…

酷柚易汛ERP - 计量单位操作指南

1、应用场景 计量单位支持单单位和多单位管理,单位是开单时确定商品价格的主要计量维度。 2、主要操作 2.1 新增多单位 打开【资料】-【计量单位】点击新增 录入基本单位和副单位 ① 基本单位:最小单位 ② 副单位:多单位里的大单位 ③ …

【原创】java+swing+mysql教务管理系统设计与实现

摘要: 教务管理系统是一个专门设计用于管理学校教务工作的系统,包括学生信息管理、课程管理、成绩管理等多个模块。本文采用了Java语言和MySQL数据库,利用面向对象编程的思想,实现了各个对象的方法和属性。具体实现过程包括数据库…

线性回归,核技巧和线性核

在这篇文章中,我想展示一个有趣的结果:线性回归与无正则化的线性核ridge回归是等 价的。 这里实际上涉及到很多概念和技术,所以我们将逐一介绍,最后用它们来解释这个说法。 首先我们回顾经典的线性回归。然后我将解释什么是核函…

阿里云配置ECS实例的IPv6地址,开通公网IPv6

1.阿里云ECS服务器开通IPv6地址,开通公网IPv6 1.1.官网教程 配置ECS实例的IPv6地址 1.2.相关截图 1 2 3 4 5 6

函数的连续性

函数在某一点极限存在,不一定连续 函数的左极限 函数的右极限 函数在某点连续需要满足三个条件 1、左右极限存在 2、左右极限相等 3、函数在该点的极限值等于在该点的函数值 满足1、2两个条件函数在该点极限存在。

Shopee的折扣活动怎么分类?shopee设置折扣注意事项

旺季到来,Shopee会举办一些折扣活动来吸引客户,那么shopee的折扣活动怎么分类,shopee设置折扣注意事项? shopee的折扣活动怎么分类? 满减活动:满减活动是虾皮常见的一种折扣形式。在这种活动中&#xff0…

一个轻量级 Java 权限认证框架——Sa-Token

一、框架介绍 Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。 官网文档: https://sa-token.cc/doc.html 二、Spring Boot 集成Sa-Token 2.1、…

【网络开发必看】聊聊 Tomcat

文章目录 1. 什么是 Tomcat2. 怎么安装 Tomcat3. Tomcat 的目录结构3.1 bin 目录3.2 conf 目录3.3 lib 目录3.4 log 目录3.5 webapps 目录 4. 启动 Tomcat总结 1. 什么是 Tomcat Tomcat 是一个 HTTP 服务器. 前面学习了 HTTP 协议, 知道了 HTTP 协议就是规定 HTTP 客户端和 HT…

【C++】类型转换 | IO流 | 空间配置器

C语言类型转换 C语言总共有两种形式的类型转换:隐式类型转换 和 显示类型转换。 C语言的转换格式虽然很简单,但也存在不少缺陷: 隐式类型转换有些情况下可能会引发意料之外的结果,比如数据精度丢失。显示类型转换的可视性比较差…

MYSQL操作详解

一)计算机的基本结构 但是实际上,更多的是这种情况: 二)MYSQL中的数据类型: 一)数值类型: 数据类型内存大小(字节)说明bit(M)M指定位数,默认为1单个二进制位值,或者为0或者为1,主要用于开/关标志tinyint1字节1个字节的整数值,支持…

iPad系列将在2024年全面更新!

今年还会有新iPad发布吗?答案是否定的。因为早在前几天的季度电话会议上,苹果公司CEO蒂姆・库克就已经宣布,今年不会推出任何新的iPad产品。 这也意味着,今年将是苹果公司自2010年推出首款iPad设备以来,第一次没有发布…

【LeetCode刷题日志】138.随机链表的复制

🎈个人主页:库库的里昂 🎐C/C领域新星创作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:LeetCode 刷题日志🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,…

穿越内存迷宫:C语言地址与指针的的冒险之旅

前言 C语言的魅力在于其直接的内存控制,而地址和指针是这种控制的核心。深入了解这些概念,将帮助我们更好地理解和利用C语言的潜力。本文将带领你踏上地址与指针的奇妙之旅,揭示它们在程序设计中的神秘面纱。 奇妙指针之旅:解码…

好物周刊#30:Github 上大学

https://github.com/cunyu1943/JavaPark https://yuque.com/cunyu1943 村雨遥的好物周刊,记录每周看到的有价值的信息,主要针对计算机领域,每周五发布。 一、项目 1. Fighting Design 一款灵活、优质的组件库,可在 vue3 应用程…

C语言 音乐播放器项目(综合)

1.main.c文件 #include<stdio.h> #include<stdlib.h> #include<string.h> #include <unistd.h>//休眠所需的头文件 #include "./pos/console.h"//光标使用所需的头文件 #include "lrc.h" #include "./mplayer/start_mplayer…