advanced install打包mysql数据库

一:精简mysql

Mysql数据库比较大,可以进行精简。这样可以减少mysql打包后的体积。单个的mysql经过精简后,打包的体积大概是80M左右。

精简方案:

1:只保留data,share,bin

2::删除BIN下面除以下三个文件之外的所有文件:

  libmysql.dll(MYSQL5中的文件,在MYSQL5.5中不存在)

  mysqladmin.exe

  Mysqld.exe(服务)

Mysql.exe(用于执行部分命令)

3:删除Share目录下除以下目录外的所有目录charsets,english

4:删除Data目录下的除mysql之外的所有文件和目录 

5:书写配置文件,将其命名为my.ini

6:精简后的文件结构为

Mysql

|--bin

|--share

|--data

my.ini

二:下载advanced installer 9.5(以下简称AI)并安装 

下载地址:http://www.advancedinstaller.com/ 

三:使用advanced installer 打包mysql

(1)使用professional版本创建新工程

(2)填写product details信息

(3)添加需要打包的mysql数据库

Files and folders,在右键application,将mysql根目录选中,并将其添加进来。 再添加的过程中,AI会自动添加识别my.ini,选中并点击确认。

(4)修改配置文件

a) 双击my.ini,

b) 找到basedir,双击,将当输入[ 时,AI会自动识别该值,并出现如下图所示的提示框,选择folder,并选中mysql的根目录,则值会自动修改为"[MySQL_Dir]”,该目录在安装过程中,会自动被替换为安装位置的目录。可以使mysql安装在任意位置。

c) 同样的方法,修改datadir的值

(5)添加mysql服务(mysql服务不能使用service选项卡中的内容直接添加)

a) Add custom action  -> 双击 launch file or open url -> 选择相应的脚本,并在脚本名称后,添加相应的参数。脚本如下,名称为start_msyql.bat,参数为mysql根目录\bin

@echo off
set path=%1
echo 安装Mysql5服务...
%path%\mysqld --install mysql
echo 启动Mysql5服务...
"%SystemRoot%"\system32\net start mysql

 

b) 选中excution option中的deferred。

C)修改execution stage conditon 中的内容,仅仅选中instal选项中的 first time install 

(6)配置mysql数据库用户名和密码

由于精简后的mysql没有设置密码,所以要配置数据库的用户名和密码

Custom action 选项卡。在这里添加用户自动以动作,配置数据库。

a) Add custom action  -> 双击 launch attached file ,选中mysql\bin\mysql.exe 

b) 选中excution option中的deferred。

c) 修改execution stage conditon 中的内容,仅仅选中instal选项中的 first time install 

d) 设置 mysql.exe的运行参数

-uroot -D mysql -e "source [#root_privileges.sql]"

e) root_privileges.sql的内容为

SET PASSWORD FOR 'root'@'localhost'=PASSWORD('password');
FLUSH PRIVILEGES;

f) 将该用户自定义操作放在installation Sequence 中的addresources之后

(7)创建数据库

a) 同上

b) 同上

c) 同上

d) 设置 mysql.exe的运行参数

-uroot -ppassword -D mysql -e "source [#dababase.sql]  "

e) dababase.sql的内容为创建数据库的脚本

f) 将该用户自定义操作放在installation Sequence 中的上一个操作之后

(8)配置删除mysql服务的脚本

a) Add custom action  -> 双击 launch file or open url -> 选择相应的脚本,并在脚本名称后,添加相应的参数。脚本如下,名称为stop_msyql.bat,参数为mysql根目录\bin

@echo off
set path=%1
echo 停止Mysql5务...
"%SystemRoot%"\system32\net stop mysql
%path%\mysqld  --remove mysql

 

b) 选中excution option中的deferred。

C)修改execution stage conditon 中的内容,仅仅选中uninstal选项中的 regular uninstal

(9)删除用于设置权限和数据库的脚本

【注意】

(1)mysql数据库不能使用ODBC的方式运行数据库,因为在AI中,ODBC的安装以及与ODBC相关联的sql语句的执行总是在启动服务之前,

(2)不建议在配置mysql数据库的时候,使用bat脚本,因为使用mysql -e 的方式直接执行放于文本中的sql语句时, 如果路径存在空格就必须用使用引号,则执行语句的时候mysql  -e  “source “文本地址” “,source会错误的识别路径,造成麻烦。

(3)在打包时,绝不能使用曾经执行过的mysql数据库,否则出现的问题比较多,很可能安装不上。尤其是不能带着数据库打包。因为在压缩的过程中,log文件和ibdata1这个文件经常打包大小跟解压后的大小不一致。(不知道是什么问题,有人知道的话,请解答,谢谢)

4)打包的时候,mysql服务职能使用脚本的方式添加,而不能直接使用service选项卡添加,否则只能够在曾经安装过mysql的服务器中,才能将服务启动起来,如果不安装mysql,则服务无法启动。不知道什么问题。

(5)在启动mysql的脚本中,net 命令前必须加 "%SystemRoot%"\system32\否则系统无法识别net命令

精简mysql的参考文献:http://www.jz123.cn/text/0738003.html 

AI官网有关mysql的操作的文章:

http://www.advancedinstaller.com/forums/viewtopic.php?f=2&t=21072 

http://www.advancedinstaller.com/forums/viewtopic.php?f=2&t=11494 

http://www.advancedinstaller.com/forums/viewtopic.php?f=2&t=21072&p=52405#p52405 

用户自定义操作的官方说明以及顺序

http://www.advancedinstaller.com/user-guide/custom-actions.html 

http://www.advancedinstaller.com/user-guide/standard-actions.html 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值