windows安装mysql8.0
沙福林 2022-11-12 16:45:34
mysql
安装教程
- 操作系统:Win10 21H1
- MySQL版本: 8.0.28 解压缩版
# 前情提要
# 沙福林的热心提醒
- 沙福林一般使用的是解压缩版Mysql安装简单,少许配置即可,其他8.0.x版本可参考该教程,是否使用于mysql5.x安装未知,自己试
- 由于沙福林电脑已经安装mysql了,本次教程演示在windows沙盒进行,具体位置根据自己磁盘路径调整
- 不要怕装错了,大不了删除 datadir 再来一遍
# 可能出现问题及其解决方案
- dll文件缺失
该安装微软常用运行库合集 2020.08.26 (opens new window) 修复电脑环境,建议先安装 - 命令执行不成功或者报错
执行安装命令的窗口不是管理员权限,选择管理员的命令执行窗口 - 初始化mysql服务失败
大概率是 datadir 不为空导致的,删除该目录即可 - 执行安装mysql服务命令提示服务已存在
删除已存在服务即可 sc delete mysql
# 1. 下载安装包
下载MySQL8.0.28安装包,这些大厂软件,基本都有国内源仓库同步,推荐使用国内源仓库的下载地址,沙福林一般使用阿里云仓库
# 2. 安装
# 解压到合适位置
沙福林建议一般放在 某盘符\Program Files 下,由于沙福林是在沙盒演示,此处就用 “某盘符” 就写 “C:” ,
实际安装时建议选择其他盘符
本文目录结构如下 C:\Program Files\mysql-8.0.28-winx64 
# 新建并编辑配置文件my.ini
新建并编辑配置文件my.ini,文件内容如下,本文只添加了基本的参数,其他参数自行根据需要 添加
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\mysql-8.0.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\mysql-8.0.28-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
max_allowed_packet=1024M
[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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 添加环境变量
添加环境变量,方便全局使用mysql命令,不必非要切换到 mysql安装目录/bin 执行命令
方式一: 命令行设置追加环境变量
setx path "%path%;C:\Program Files\mysql-8.0.28-winx64\bin" /m
1
方式二: 图形化添加,右击计算机-属性-高级系统设置-环境变量-找Path变量
设置好之后一路确认,就算设置完毕了
![]()
# 初始化mysql
执行命令,获取mysql初始密码,红框所示为mysql初始密码,一会需要用这个密码进入mysql,然后修改密码 该命令执行注意,一定要保证配置文件中的 datadir 代表目录不存在或者为空
mysqld --initialize --console
1

# mysql服务安装并启动

- 安装mysql服务
mysqld --install
1
- 启动mysql服务
net start mysql
1
停止mysql服务, 本文主要将安装,暂不需要该命令,如果修改配置文件了,就需要先停后启动
net stop mysql
1
# 进入mysql终端
- 进入mysql终端
mysql -uroot -p初始密码
1
2. 基本操作
-- 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
-- 开启允许远程连接
USE mysql;
UPDATE user SET host='%' WHERE user='root';
-- 刷新权限
FLUSH PRIVILEGES;
1
2
3
4
5
6
7
2
3
4
5
6
7

接下来就愉快地使用mysql玩耍吧
# root忘记密码
- 开启一个cmd窗口,输入以下命令,关闭mysql服务,该窗口记为 cmd1
net stop mysql
1
- 在 cmd1 中输入以下命令,用于免密码进入mysql
mysqld --console --skip-grant-tables --shared-memory
1
- 开启一个cmd窗口,输入以下命令,免密码进入mysql,该窗口记为 cmd2
碰到要输入密码无视,直接回车
mysql -uroot -p
1
4. 修改root密码
-- 1. 刷新权限一定要先执行,不然下一句会报错
FLUSH PRIVILEGES;
-- 2. 修改root密码,此处是'%'还是'localhost'取决于有没有开启远程连接,上面已经开启了,所以我这里是'%'
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '654321';
-- 3. 刷新权限
FLUSH PRIVILEGES;
1
2
3
4
5
6
2
3
4
5
6
crtl+c中断 cmd1,然后重启mysql服务- 启动mysql服务
net start mysql
1
- 使用新密码进入mysql终端
mysql -uroot -p654321
1

