【mysql】Windows MySQL 8.4.10 绿色免安装喂饭教程

Windows MySQL 8.4.11 绿色免安装喂饭教程

包:mysql-8.4.11-winx64.zip(Release正式版,不是debug-test ,适合项目打包分发、本地开发、演示环境)

特点:解压即用,无安装程序,可随项目一起打包;自带完整卸载流程;Windows10/11 64位

前置:管理员权限;系统缺少VC++运行库时,安装 vc_redist.x64

统一根目录:D:\data\env\mysql-8.4.11-winx64

安装前运行微软常用运行库全集(也可能称为依赖)

一、下载与解压

  1. 下载官方 mysql-8.4.11-winx64.zip

    https://www.mysql.com/

  2. 解压到:D:\data\env\mysql-8.4.11-winx64

❌ 禁止中文、空格、特殊符号路径

  1. 进入解压目录,确认存在 bin 文件夹(内含 mysqld.exe、mysql.exe)

绿色包默认没有 data 文件夹、没有 my.ini,需要手动创建/初始化。

二、新建 my.ini(放在mysql根目录 D:\data\env\mysql-8.4.11-winx64\my.ini)

新建记事本,粘贴下面内容,另存为 my.ini,编码选 ANSI

ini 复制代码
[mysqld]
port=3306
basedir=D:/data/env/mysql-8.4.11-winx64
datadir=D:/data/env/mysql-8.4.11-winx64/data
character-set-server=utf8mb4
default-storage-engine=INNODB
max_connections=100
# 开发环境开启,忽略表名大小写(Windows推荐)
lower_case_table_names=1

[mysql]
default-character-set=utf8mb4

路径写法:/ 或者 \\,不能直接单个反斜杠 \

三、初始化数据库(仅第一次解压执行1次!)

  1. 管理员身份打开 CMD / PowerShell
  2. cd 切换到 bin 目录
cmd 复制代码
cd D:\data\env\mysql-8.4.11-winx64\bin
  1. 执行初始化,会生成data目录,并输出root临时密码
cmd 复制代码
mysqld --initialize --console

如果使用Powershell则写成

powershell 复制代码
./mysqld --initialize --console

  • 成功后根目录自动生成 data 文件夹
  • 控制台输出示例:[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 3dq%)D:625>j(中文释义:已为 root@localhost 生成临时密码,密码为3dq%)D:625>j)

3dq%)D:625>j` 就是临时root密码,立刻复制保存!
备选(开发打包用,初始化后root无密码,方便演示)

cmd 复制代码
mysqld --initialize-insecure

如果使用powershell则

cmd 复制代码
./mysqld --initialize-insecure

⚠️ 无密码模式仅本地项目演示,不适合公网/生产。
报错处理:

  • 已有data文件夹:删除data文件夹,重新初始化
  • 缺少vcruntime:安装微软VC++2019-2022 x64运行库

四、两种启动方式(二选一)

方式A:注册Windows服务(推荐,开机自启,适合常驻开发环境)

管理员CMD,bin目录执行:

cmd 复制代码
mysqld --install MySQL84

MySQL84 是自定义服务名,可随便改

启动服务:

cmd 复制代码
net start MySQL84

方式B:直接控制台启动(打包项目演示首选,不注册系统服务)

管理员CMD,bin目录执行:

cmd 复制代码
mysqld --console

这个窗口不能关闭,一关数据库就停止;新开CMD窗口用来连接数据库。

五、连接数据库 + 修改root密码

新开CMD,进入bin目录

cmd 复制代码
cd D:\data\env\mysql-8.4.11-winx64\bin
mysql -uroot -p

回车,粘贴刚才的临时密码,进入mysql命令行。

修改root密码(MySQL8.4必须用ALTER USER)

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;
exit;

密码规则:至少8位,大小写+数字+符号;本地开发可简化,但不能纯数字。
可选:开启远程访问(项目联调使用)

sql 复制代码
CREATE USER 'root'@'%' IDENTIFIED BY '你的新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

六、环境变量(可选,任意位置调用mysql命令)

  1. 按WIN键 → 输入env→ 编辑系统环境变量

  2. 系统变量 Path → 编辑 → 新增路径:D:\data\env\mysql-8.4.11-winx64\bin

  3. 保存,重启CMD,任意目录都可以执行 mysql / mysqld

七、项目打包分发(重点)

Release正式版适合打包给项目、演示、客户本地部署,性能稳定。

  1. 停止MySQL服务/关闭mysqld控制台
  2. 整个mysql文件夹打包(data文件夹一起打包)
  3. 接收方操作:解压到 D:\data\env\mysql-8.4.11-winx64 → 管理员CMD进入bin,注册服务或者直接 mysqld --console 启动,无需再次初始化

注意:data目录保存账号密码与业务数据,不要打包带敏感业务数据分发,仅用于演示库。

八、完整卸载步骤(绿色版无注册表残留)

  1. 管理员CMD停止服务
cmd 复制代码
net stop MySQL84
  1. 删除Windows服务(如果注册过服务,没注册直接跳过)
cmd 复制代码
mysqld --remove MySQL84
  1. 任务管理器结束所有 mysqld.exe 进程
  2. 删除整个mysql解压文件夹 D:\data\env\mysql-8.4.11-winx64
  3. 【可选清理】环境变量:删除Path内mysql bin条目
  4. 【可选】检查 C:\ProgramData\MySQL,如有残留目录手动删除(绿色版一般不会生成)

九、常见坑

  1. 3306端口占用:修改my.ini中port=3307,重启mysql
  2. mysqld一闪而过:my.ini路径写错、权限不足、data损坏;用 mysqld --console 看报错
  3. Access denied:密码错误,删除data文件夹重新初始化
  4. my.ini修改后必须重启mysql配置才生效

十、批处理脚本(打包直接附带,放mysql根目录 D:\data\env\mysql-8.4.11-winx64)

新建 install.bat(管理员运行,注册服务)

bat 复制代码
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0bin"
mysqld --install MySQL84
echo 服务MySQL84注册完成
pause

start.bat

bat 复制代码
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
net start MySQL84
echo MySQL启动完成
pause

stop.bat

bat 复制代码
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
net stop MySQL84
echo MySQL已停止
pause

uninstall.bat(卸载)

bat 复制代码
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0bin"
net stop MySQL84
mysqld --remove MySQL84
echo 服务已移除,可以手动删除整个文件夹
pause
相关推荐
2401_896732131 天前
MySQL小笔记
mysql
程序员塔塔喵1 天前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
_孤傲_1 天前
快速掌握 MySQL 语法
数据库·后端·mysql
为思念酝酿的痛1 天前
MySQL的操作
数据库·mysql
Umi·1 天前
MySQL库表操作
数据库·mysql
星光开发者1 天前
基于springboot智慧草场牛羊管理系统-计算机毕设【课程设计】50360
vue.js·spring boot·后端·mysql·php·课程设计·express
猫咪很可爱1 天前
MySQL 视图与只读用户:安全查询的完整实践指南
数据库·sql·mysql
猫咪很可爱1 天前
MySQL 5.7 备份恢复后函数与存储过程丢失:原因分析与正确备份姿势
数据库·mysql·bug·shell
pigdreams1 天前
Google 官方 Android CLI:让AI直接读布局结构而不是用adb截图验证
android·人工智能·adb
秦时明月之君临天下1 天前
MySQL purge 参数详解:innodb_purge_threads 与 innodb_purge_batch_size
数据库·mysql·1024程序员节