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

一、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=3306skip-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.hqwc.cn/news/168602.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之中介者模式

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概5000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

设计模式JAVA

1 创建型 如何合理的创建对象? 1.1 单例模式 字面意思就是只能创建一个对象实例时使用。 例如,Windows中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等…

Java学习 10.Java-数组习题

一、创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100 代码实现 public static void main(String[] args) {int[] arrnew int[100];for (int i 0; i < arr.length; i) {arr[i]i1;}System.out.println(Arrays.toString(arr));} 运行结果 二、改变…

k8s-docker二进制(1.28)的搭建

二进制文件-docker方式 1、准备的服务器 角色ip组件k8s-master1192.168.11.111kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-master2192.168.11.112kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-node1192.168.11.113kubelet,kube-prox…

相机内外参实践之点云投影矢量图

目录 概述 涉及到的坐标变换 深度值可视化 3D点云的2D投影实现 实现效果 参考文献 概述 Camer的内外参在多模态融合中主要涉及到坐标系变换&#xff0c;即像素坐标、相机坐标以及其他坐标系。这篇就针对点云到图像的投影与反投影做代码实践&#xff0c;来构建一张具有深度…

【从0到1设计一个网关】上岸大厂的秘诀之一

文章目录 前言【从0到1设计一个网关】什么是网关&#xff1f;以及为什么需要自研网关&#xff1f;【从0到1设计一个网关】自研网关的设计要点以及架构设计【从0到1设计一个网关】自研网关的架构搭建【从0到1设计一个网关】网络通信框架Netty的设计【从0到1设计一个网关】整合Na…

LeetCode(2)移除元素【数组/字符串】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 27. 移除元素 1.题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原…

centos7安装linux版本的mysql

1.下载linux版本的mysql 进入mysql官网&#xff0c;点击社区版本下载&#xff1a; https://dev.mysql.com/downloads/mysql/ 选择版本&#xff0c;可以跟着我下面这个图进行选择&#xff0c;选择红帽版本的既可&#xff0c;都是linux版本的。 2.上传解压linux版本的mysql安装包…

Matlab的多项式留数与极点的计算

Matlab的多项式留数与极点的计算 以下面的多项式为例&#xff1a; 运算代码&#xff1a; clc clear closesyms p % 定义多项式 Zp(5*p^571*p^370*p)/(2*p^635*p^4117*p^236); % 提取分子与分母 [I,D]numden(Zp); Idouble(coeffs(I,p,"All"));%分子 Ddouble(coeffs…

报时机器人的rasa shell执行流程分析

本文以报时机器人为载体&#xff0c;介绍了报时机器人的对话能力范围、配置文件功能和训练和运行命令&#xff0c;重点介绍了rasa shell命令启动后的程序执行过程。 一.报时机器人项目结构 1.对话能力范围 (1)能够识别欢迎语意图(greet)和拜拜意图(goodbye) (2)能够识别时间意…

ROS 学习应用篇(三)话题Topic学习之自定义话题消息的类型的定义与调用

自定义消息类型的定义 Person.msg文件的定义&#xff08;数据接口文件的定义&#xff09; 创建msg文件 首先在功能包下新建msg文件夹&#xff0c;接着在该文件夹下创建文件。 定义msg文件内容 一个消息最重要的就是数据结构类型。这就需要引入一个msg文件&#xff0c;用于…

剑指offer(C++)-JZ21:调整数组顺序使奇数位于偶数前面(一)(算法-其他)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 输入一个长度为 n 整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有的奇数…