Advanced Installer打包MySQL
一.精简mysql
Mysql数据库比较大,可以进行精简。这样可以减少mysql打包后的大小。
精简方案:(该方案针对绿色解压版的mysql)
1:只保留,share,bin
2::删除BIN下面除以下三个文件之外的所有文件:
libmysql.dll(MYSQL5中的文件,若有则保留没有也没事)
mysqladmin.exe
Mysqld.exe(服务)
Mysql.exe(用于执行部分命令)
3:删除Share目录下除以下目录外的所有目录charsets,english
4:精简后的文件结构为
Mysql
|--bin
|--share
二.准备一键安装mysql批处理文件(MySql安装.bat)
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | @setlocal enabledelayedexpansion @echo off color f0 title MYSQL一键安装 set basedir=%~dp0 set bin=%~dp0\bin cd /d %~dp0 if exist !bin!\mysqld.exe ( rem 写入配置 >my.ini echo [mysqld] >>my.ini echo port=3306 >>my.ini echo basedir=!basedir! >>my.ini echo datadir=!basedir!\Data >>my.ini echo log-error=!basedir!\Logs.log >>my.ini echo max_connections=200 >>my.ini echo max_connect_errors=10 >>my.ini echo character- set -server=utf8mb4 >>my.ini echo default -storage-engine=INNODB >>my.ini echo default_authentication_plugin=mysql_native_password >>my.ini echo local_infile=ON >>my.ini echo. >>my.ini echo [mysql] >>my.ini echo default -character- set =utf8mb4 >>my.ini echo local_infile=ON >>my.ini echo. >>my.ini echo [client] >>my.ini echo port=3306 >>my.ini echo default -character- set =utf8mb4 rem 添加环境变量 echo 开始检查环境变量... echo. for /f "tokens=2*" %%i ^ in ( 'reg query "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path^|findstr /i "path"' ) ^ do ( set "p=%%j" ) for /f "tokens=*" %%a in ( 'echo !p! ^| find /i "!bin!"' ) do ( set flag=1) if not defined flag ( echo 开始添加环境变量 setx Path "!p!;!bin!" /M | find "成功" && echo 环境变量添加成功 set p=!Path! ) else (echo 环境变量已存在,无需设置。) echo. rem 初始化 --console cd !bin! >!basedir!\Logs.log echo --------初始化数据库开始-------- echo 开始初始化数据库 mysqld --initialize-insecure >>!basedir!\Logs.log echo --------初始化数据库结束-------- rem 安装服务 echo 开始安装服务 mysqld --install MySQL | find "successfully" && echo 服务安装成功 echo. rem 启动服务 echo 开始启动MYSQL服务 net start MySQL echo. mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root@123'" ; echo 安装完成 ) else ( echo 请将本工具放在解压后的MYSQL根目录下再打开 ) pause >nul |
若需要在安装mysql数据库之后,创建数据库并添加数据
则在MySql安装.bat中的 echo 安装完成之后添加如下代码
1 2 3 | cd /d %basedir% set CurBatDir=%cd%/Main.bat if exist "%CurBatDir%" (call "%CurBatDir%" ) else (echo 没有找到 "%CurBatDir%" ) |
准备好Main.bat、创建mis数据库.bat、创建三段码数据库.bat
Main.bat
1 2 3 4 5 6 7 8 9 10 11 | @echo off cd /d %~dp0 set a=%cd%/创建三段码数据库.bat set b=%cd%/创建mis数据库.bat @echo --------------mysql数据初始化开始 @echo 执行第一个文件 if exist "%a%" (call "%a%" ) else (echo 没有找到 "%a%" ) @echo 执行第二个文件 if exist "%b%" (call "%b%" ) else (echo 没有找到 "%b%" ) @echo --------------mysql数据初始化结束 |
创建mis数据库.bat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @ECHO OFF @echo 创建mis数据库开始 cd /d %~dp0 SET dbhost=localhost SET dbuser=root SET dbpasswd=root@123 SET dbName=mis SET sqlpath=%cd%/sql/ set sqlfile=mis.sql cd /d %~dp0/bin ::执行SQL脚本 if exist "%sqlpath%" ( mysql -h%dbhost% -u%dbuser% -p%dbpasswd% < %sqlpath%%sqlfile% -- default -character- set =utf8 ) else (echo 没有找到 "%sqlpath%" ) @echo 创建mis数据库结束 |
准备好的文件如下图所示
三、打开Advanced Installer
将上述准备好的MySQL文件,以及将mysql客户端navicat添加到Application Folder
自定义exe文件生成路径
自定义安装路径
自定义mysql安装.bat
这里插一句:希望大家能注意到,同一个脚本,如果上面设置了环境变量,下面直接引用,是没用的。(或者说,刚设置了环境变量,就想在同一个bat里使用是无效的)
必须重新双击打开一个命令窗口才有效,即使是调用另一个bat文件也不行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!