Windows安装和完全卸载MySQL8(以MySQL8.0.31版本为例) 之 Zip 方式(超详细教程)

2023-05-16

文章目录

    • 一. 前言
    • 二. 安装
      • 1.下载MySQL
      • 2. 安装MySQL
      • 3.小结:
      • 4.修改环境变量
    • 3.完全卸载

一. 前言

MySQL8相比之前版本改动还是挺大,主要有以下几点:

  1. MySQL8之后并不需要my.ini,会自动的生成data文件夹在解压之后的文件,端口默认3306,。若有这个文件,则初始化mysql不成功。
  2. 自己若新建并设置了my.ini 文件,有data文件的话,在初始化之前要删除。然后再初始化
  3. 在初始化之后会自动生成密码,要记下来,后续登上mysql需改密码之后才可后续操作。
  4. 要更改加密规则,不然无法使用工具连接mysql

二. 安装

1.下载MySQL

(MySQL的官网地址:https://www.mysql.com/)
Mysql 8 下载地址 https://dev.mysql.com/downloads/mysql/
PS:因为现在大多数软件都是64位的,建议还在使用32位的朋友尽快更换64位系统,下面辉哥以64位做演示,尽量下载官方稳定包,还可以选择其他版本

  1. 进入官网 点击DOWNLOADS在这里插入图片描述

  2. 个人使用,选择社区免费版在这里插入图片描述

  3. 点击MySQL Community Server在这里插入图片描述

  4. 操作系统选择windows,选择下载zip 包在这里插入图片描述

2. 安装MySQL

  1. 将zip 包解压到自定义安装位置
    在这里插入图片描述
    PS: 解压后默认是不包含 Data 文件夹 和 my.ini 文件的,Data 文件夹是在执行
mysqld --initialize --console

命令的之后生成的,在初始化my.ini 配置参数的同时生成一个默认密码(在MySql版本5.7.20 后都会默认生成一个密码)

如果有需要可以自己创建一个my.ini 文件,这样在初始化之后,就不用再去修改,字符集、mysql_native_password 等内容了,只需修改下密码和远程访问权限即可。

my.ini 的初始化配置如下: 自己可以根据需要修改

[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=E:\Program Files\mysql\mysql-8.0.31-winx64
#设置mysql数据库的数据的存放目录
datadir=E:\Program Files\mysql\mysql-8.0.31-winx64\Data
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#超时
wait_timeout=86400
#服务端使用的字符集默认为utf8mb4
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

使用管理员身份打开cmd (win10 用户设置cmd 管理员权限)(电脑“开始”搜索“命令”,右键“管理员身份打开” 命令提示符),进入到你mysql解压的bin目录

在这里插入图片描述

  1. 初始化MySQL,并记录生成的用户密码root的随机密码),在命令窗口内输入:
mysqld --initialize --console

在这里插入图片描述
记好生成的用户名和密码

  1. 安装MySQL服务,命令窗口内输入:
mysqld --install

在这里插入图片描述

  1. 启动MySQL服务,命令窗口内输入:
net start mysql

在这里插入图片描述

  1. 修改密码
    在命令窗口内输入:mysql -u root -p,然后输入刚才生成的密码

在这里插入图片描述
在命令窗口内依次输入:

alter user 'root'@'localhost'identified by 'password'

在这里插入图片描述

修改加密规则:
alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘password’
在这里插入图片描述

  1. 给root 用户开放远程权限 (有需要则执行这一步)

依次执行:

 show databases;
 use mysql;

在这里插入图片描述

在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user;

可以看到root用户的host默认为localhost,只允许本地访问,不允许远程连接,新创建一个用户用于远程连接

新建用户:

 create user 'root'@'%' IDENTIFIED BY 'password';

在这里插入图片描述
继续查询发现新增了一条root 用户信息
在这里插入图片描述
mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password", 如果你本地数据库加密方式不是mysql_native_password,则接下来需要修改密码加密方式

alter user ‘root’@‘%IDENTIFIED WITH mysql_native_password BY
‘password’;

修改后可以执行select host,user,plugin from user;语句,查看新增用户的plugin是否是"mysql_native_password"

设置该账户可以远程登陆:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

刷新权限列表:

flush privileges;

在这里插入图片描述
查看防火墙状态:netsh advfirewall show allprofiles

本地navicate 连接测试:
在这里插入图片描述

3.小结:

期间安装mysql 过程中,3306 端口 和我本地虚拟机开放的本机端口监听端口3306 冲突,导致连接mysql 报错,始终连接不上。报错如下:
在这里插入图片描述
关闭虚拟机后,连接成功,需要将虚拟机的监听端口修改为别的端口以防冲突。

4.修改环境变量

依次进入【计算机】》右键【属性】》【高级系统设置】》【环境变量】,点击系统变量的path变量,然后点击编辑
在这里插入图片描述
path 里面对应添加
在这里插入图片描述

3.完全卸载

  1. 停止服务:使用net stop mysql(‘你的服务名’) 命令 或
    【win+R快捷键】》输入services.msc》进入服务窗口关闭mysql服务;
  2. 卸载程序:使用360卸载mysql程序 或 【控制面板】》【程序和功能】》右键卸载程序;
    删除项目根文件夹:进入mysql安装位置,删除mysql的解压文件夹;
  3. 检查服务是否完全删除:如果mysql服务还在,可以使用 ‘sc delete mysql ‘ 来删除服务;
    删除C盘隐藏文件夹:显示隐藏文件后,删除C盘下的“C:\ProgramData\MySQL ”所有文件;
  4. 删除注册表信息:【win+R快捷键】》输入regedit 命令打开注册表窗口,删除以下文件
    HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
    HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL
  5. 删除环境变量里的配置:如果有更改了环境变量,那么进入【计算机】》右键【属性】》【高级系统设置】》【环境变量】》删除系统变量中的MYSQL_HOME变量和删除Path变量中的mysql路径;
  6. 全盘搜索mysql关键字检查:这里使用everything全盘搜索mysql关键字,可以查看系统所有相关文件,以防遗漏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows安装和完全卸载MySQL8(以MySQL8.0.31版本为例) 之 Zip 方式(超详细教程) 的相关文章

  • 旋转数组的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾 xff0c 我们称之为数组的旋转 输入一个递增排序的数组的一个旋转 xff0c 输出旋转数组的最小元素 例如数组 3 4 5 1 2 为 1 2 3 4 5 的一个旋转 xff0c 该数
  • 斐波那契数列

    题目描述 大家都知道斐波那契数列 xff0c 现在要求输入一个整数n xff0c 请你输出斐波那契数列的第n项 n lt 61 39 思路 xff1a 用非递归的方法 xff0c 即遍历的方法去实现斐波拉切数列 代码如下 xff1a pub
  • 跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶 xff0c 也可以跳上2级 求该青蛙跳上一个n级的台阶总共有多少种跳法 思路 xff1a 对于本题 前提只有 一次 1阶或者2阶的跳法 a 如果两种跳法 xff0c 1阶或者2阶 xff0c 那么假定
  • 变态跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶 xff0c 也可以跳上2级 它也可以跳上n级 求该青蛙跳上一个n级的台阶总共有多少种跳法 思路 xff1a 关于本题 xff0c 前提是n个台阶会有一次n阶的跳法 分析如下 f 1 61 1 f 2
  • 矩形覆盖

    题目描述 我们可以用2 1的小矩形横着或者竖着去覆盖更大的矩形 请问用n个2 1的小矩形无重叠地覆盖一个2 n的大矩形 xff0c 总共有多少种方法 xff1f 思路 xff1a 依旧是斐波那契数列 2 n的大矩形 xff0c 和n个2 1
  • 数值的整数次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent 求base的exponent次方 思路 xff1a 判断该整数的负数和正数情况 代码如下 xff1a public class Solution publ
  • 调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组 xff0c 实现一个函数来调整该数组中数字的顺序 xff0c 使得所有的奇数位于数组的前半部分 xff0c 所有的偶数位于位于数组的后半部分 xff0c 并保证奇数和奇数 xff0c 偶数和偶数之间的相对位置不变
  • 链表中倒数第k个结点

    题目描述 输入一个链表 xff0c 输出该链表中倒数第k个结点 思路 xff1a 倒数第k个结点 xff0c 则表示是第n k 43 1个结点 代码如下 xff1a public class ListNode int val ListNod
  • 反转链表

    题目描述 输入一个链表 xff0c 反转链表后 xff0c 输出链表的所有元素 思路 xff1a 用一个pre指向前一个结点 xff0c 用 next指向当前结点 next 61 head next head next 61 pre pre
  • 程序员面试题精选100题(46)-对称子字符串的最大长度

    程序员面试题精选100题 46 xff0d 对称子字符串的最大长度 题目 xff1a 输入一个字符串 xff0c 输出该字符串中对称的子字符串的最大长度 比如输入字符串 google xff0c 由于该字符串里最长的对称子字符串是 goog
  • 合并两个排序的链表

    题目描述 输入两个单调递增的链表 xff0c 输出两个链表合成后的链表 xff0c 当然我们需要合成后的链表满足单调不减规则 思路 xff1a 先创建一个头结点 head xff0c head val为 1 然后创建一个指向该头结点的指针p
  • 树的子结构

    题目描述 输入两棵二叉树A xff0c B xff0c 判断B是不是A的子结构 xff08 ps xff1a 我们约定空树不是任意一个树的子结构 xff09 思路 xff1a 可以先判断A和B的父结点是不是一样的 xff0c 如果一样进入递
  • 二叉树的镜像

    题目描述 操作给定的二叉树 xff0c 将其变换为源二叉树的镜像 输入描述 二叉树的镜像定义 xff1a 源二叉树 8 6 10 5 7 9 11 镜像二叉树 8 10 6 11 9 7 5 思路 xff1a 根节点下面的左子树和右子树分别
  • 顺时针打印矩阵

    题目描述 输入一个矩阵 xff0c 按照从外向里以顺时针的顺序依次打印出每一个数字 xff0c 例如 xff0c 如果输入如下矩阵 xff1a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1
  • 包含min函数的栈

    题目描述 定义栈的数据结构 xff0c 请在该类型中实现一个能够得到栈最小元素的min函数 思路 xff1a 用一个栈去存储所有元素 然后一个一个去比较 将小的那个值放到变量min里面 xff1b 代码如下 xff1a import jav
  • 栈的压入、弹出序列

    题目描述 输入两个整数序列 xff0c 第一个序列表示栈的压入顺序 xff0c 请判断第二个序列是否为该栈的弹出顺序 假设压入栈的所有数字均不相等 例如序列1 2 3 4 5是某栈的压入顺序 xff0c 序列4 xff0c 5 3 2 1是
  • 从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点 xff0c 同层节点从左至右打印 思路 xff1a 意思就是按层遍历然后放到一个list集合里面去 xff0c 所以创建一个队列每次把一层的结点放进去 xff0c 然后一个一个判别是否有left结点
  • 二叉搜索树的后序遍历序列

    题目描述 输入一个整数数组 xff0c 判断该数组是不是某二叉搜索树的后序遍历的结果 如果是则输出Yes 否则输出No 假设输入的数组的任意两个数字都互不相同 思路 xff1a 因为是二叉搜索树 xff0c 所以根节点的左子树小于右子树 x
  • 二叉树中和为某一值的路径

    题目描述 输入一颗二叉树和一个整数 xff0c 打印出二叉树中结点值的和为输入整数的所有路径 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 思路 xff1a 用先序遍历递归的思想去实现 xff0c 到最后叶节点如果不能
  • 复杂链表的复制

    题目描述 输入一个复杂链表 xff08 每个节点中有节点值 xff0c 以及两个指针 xff0c 一个指向下一个节点 xff0c 另一个特殊指针指向任意一个节点 xff09 xff0c 返回结果为复制后复杂链表的head xff08 注意

随机推荐

  • ubantu20下python安装和卸载

    查看系统版本 python3 version 卸载ubantu上的python版本 sudo apt get remove python3 卸载python3及其依赖 sudo apt get remove auto remove pyth
  • [转]DBSCAN聚类算法——机器学习(理论+图解+python代码)

    原文链接 xff1a https blog csdn net huacha article details 81094891 一 前言 二 DBSCAN聚类算法 三 参数选择 四 DBSCAN算法迭代可视化展示 五 常用的评估方法 xff1
  • 求1+2+3+...+n

    题目描述 求1 43 2 43 3 43 43 n xff0c 要求不能使用乘除法 for while if else switch case等关键字及条件判断语句 xff08 A B C xff09 思路 xff1a 用递归 xff08
  • 把字符串转换成整数

    题目描述 将一个字符串转换成一个整数 xff0c 要求不能使用字符串转换整数的库函数 思路 xff1a 设置两个标志位 一个tag 为1表示是正数 xff0c 为0表示是负数 xff0c 一个index xff0c 为 43 则index是
  • 数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n 1的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字是重复的 也不知道每个数字重复几次 请找出数组中任意一个重复的数字 例如 xff0c 如果输入长度为7的数组 2 3 1
  • 表示数值的字符串

    题目描述 请实现一个函数用来判断字符串是否表示数值 xff08 包括整数和小数 xff09 例如 xff0c 字符串 34 43 100 34 34 5e2 34 34 123 34 34 3 1416 34 和 34 1E 16 34 都
  • 字符流中第一个不重复

    题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符 例如 xff0c 当从字符流中只读出前两个字符 34 go 34 时 xff0c 第一个只出现一次的字符是 34 g 34 当从该字符流中读出前六个字符 google 34 时
  • 链表中环的入口结点

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 题目描述 一个链表中包含环 xff0c 请找出该链表的环的入口结点 思路 xff1a 设置两个引用 A和B 指向头 xff0c 然
  • 删除链表中重复的结点

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 题目描述 在一个排序的链表中 xff0c 存在重复的结点 xff0c 请删除该链表中重复的结点 xff0c 重复的结点不保留 xf
  • 二叉树的下一个结点

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 题目描述 给定一个二叉树和其中的一个结点 xff0c 请找出中序遍历顺序的下一个结点并且返回 注意 xff0c 树中的结点不仅包含
  • 按之字形顺序打印二叉树

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 import java util ArrayList import java util Queue import java uti
  • 对称的二叉树

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 请实现一个函数 xff0c 用来判断一颗二叉树是不是对称的 注意 xff0c 如果一个二叉树同此二叉树的镜像是同样的 xff0c
  • 【unix】unix环境高级编程

    文章目录 1 UNIX基础知识1 基本知识2 文件和目录3 输入和输出4 程序和进程5 出错处理6 用户标识7 信号8 时间9 系统调用和库函数 标准化和实现1 标准化 ISO C POSIX Single UNIX Specificati
  • 序列化反序列二叉树

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 题目描述 请实现两个函数 xff0c 分别用来序列化和反序列化二叉树 思路 xff1a 序列化的时候遇到null的结点就补充 xf
  • java 判断字符串是否为null的四种方法:

    以下是java 判断字符串是否为空的四种方法 xff1a 方法一 最多人使用的一个方法 直观 方便 但效率很低 if s 61 61 null s equals 34 34 方法二 比较字符串长度 效率高 是我知道的最好一个方法 if s
  • spring-boot推送实时日志到前端页面显示

    个人技术网站 欢迎关注 网上有很多后台推送日志到前端页面的例子 xff0c 这里我也借鉴了别人的做法 稍加改进一下 以前做前端页面显示日志一般都会想到ajax轮询去做 xff0c 这样太耗费服务器资源了 xff0c 性能也很差 使用长连接来
  • [Ubuntu][Android]快速配置Android USB设备的权限

    1 复制如下内容到新建文本文件中 xff0c 并保存为51 android rules SUBSYSTEM 61 61 34 usb 34 ENV DEVTYPE 61 61 34 usb device 34 MODE 61 34 0666
  • shell脚本一次性将tab制表符改为4空格的方法

    问题描述 今天需要修改一些bash脚本 xff0c 因为考虑到pycharm里面能够直接写 xff0c 而我用pycharm比较多 xff0c 所以直接用pycharm写了 xff0c 由于改的那个bash脚本是别的同事写的 xff0c 里
  • matlab 并行计算 parfor

    转自 xff1a http www xiongfuli com E5 B9 B6 E8 A1 8C E8 AE A1 E7 AE 97 2016 05 Matlab Parfor html 在Matlab下使用parfor实现多核并行计算
  • Windows安装和完全卸载MySQL8(以MySQL8.0.31版本为例) 之 Zip 方式(超详细教程)

    文章目录 一 前言二 安装1 下载MySQL2 安装MySQL3 小结 xff1a 4 修改环境变量 3 完全卸载 一 前言 MySQL8相比之前版本改动还是挺大 xff0c 主要有以下几点 xff1a MySQL8之后并不需要my ini