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文件也不行。

 

posted @   【君莫笑】  阅读(1103)  评论(0编辑  收藏  举报
编辑推荐:
· 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,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示