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

文章目录

    • 一. 前言
    • 二. 安装
      • 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关键字,可以查看系统所有相关文件,以防遗漏。
Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式