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


    一. 前言

    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
    
    • 1

    命令的之后生成的,在初始化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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

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

    在这里插入图片描述

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

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

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

    在这里插入图片描述

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

    在这里插入图片描述

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

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

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

    在这里插入图片描述

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

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

    依次执行:

     show databases;
     use mysql;
    
    • 1
    • 2

    在这里插入图片描述

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

    select host, user, authentication_string, plugin from user;
    
    • 1

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

    新建用户:

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

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

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

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

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

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

    刷新权限列表:

    flush privileges;
    
    • 1

    在这里插入图片描述
    查看防火墙状态: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关键字,可以查看系统所有相关文件,以防遗漏。
  • 相关阅读:
    成功编译并运行flutter安卓的gradle文件范例
    小谈设计模式(8)—代理模式
    nodejs+vue网课学习平台
    《从0到1:HTML5+CSS3修炼之道》笔记
    TCP/IP协议(二)
    【分享】“微信小商店“在集简云平台集成应用的常见问题与解决方案
    react18-学习笔记6-基础类型-原始数据类型
    IO学习系列之使用文件IO的接口在一个目录下,实现Linux命令“ls -l”的功能
    华为交换机S200, S1700系列产品命名规则
    电子签名组件Vue
  • 原文地址:https://blog.csdn.net/u014212540/article/details/127927005