最近在搞一个web项目部署,每次都要安装jdk、配置环境变量、安装tomcat和mysql。对于非开发人员,还是有点难度的,经常出错,然后就整理了一个自动化的脚本。
JDKinstall.bat
@echo off set myjdkpath=C:\Program Files\Java\jdk1.8
echo **********************************************
echo.
echo 欢迎使用一键安装jdk
echo.
echo.
echo ********************************************** echo.
echo 正在安装jdk,请不要执行其他操作
echo.
echo 请稍等,这大约需要几分钟
echo. start /WAIT jdk-8u181-windows-x64\jdk-8u181-windows-x64.exe /qn INSTALLDIR="%myjdkpath%" echo jdk安装完毕 set JAVA_HOME=%myjdkpath% set PATH=%PATH%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin
set CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar
set RegV=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment reg add "%RegV%" /v "JAVA_HOME" /d "%JAVA_HOME%" /f
reg add "%RegV%" /v "Path" /t REG_EXPAND_SZ /d "%PATH%" /f
reg add "%RegV%" /v "CLASSPATH" /d "%CLASSPATH%" /f exit
tomcat是免安装版,优先安装到D盘,如果没有D盘则安装到C盘。
@echo off echo **********************************************
echo.
echo 将要安装Tomcat echo. echo. echo ********************************************** echo. echo 正在安装Tomcat,请不要执行其他操作 echo. echo 请稍等,这个时间大约需要几分钟 echo. if exist d: (set dir=D) else (set dir=C) set TomcatPath="%dir%:\Program Files\Apache Software Foundation\"
mkdir %TomcatPath%
mkdir %TomcatPath%image
xcopy apache-tomcat-8.5.43-windows-x64 %TomcatPath% /e /y cd %TomcatPath%Tomcat 8.5\bin
%dir%:
service.bat uninstall
service.bat install exit
mysql也是免安装版的,免安装的源目录下准备好自己所要的my.ini配置文件,mysqlinstall.bat安装脚本 以及建表操作表的sql文件update.sql。目录结构如下:
还有一个mysql.bat文件,是把上面的目录结构拷贝到D盘,如果D盘不存在,则拷贝到C盘,然后进入到安装目录里,执行mysqlinstall.bat文件。
mysql.bat脚本内容:
@echo off echo **********************************************
echo.
echo 将要安装mysql echo. echo. echo ********************************************** echo. echo 正在安装mysql,请不要执行其他操作 echo. echo 请稍等,这个时间大约需要几分钟 echo. echo "注册MySql服务开始"
echo "停止已存在的服务MySQL"
net stop MySQL57
echo "删除已存在的服务MySQL"
sc delete MySQL57 echo "删除服务执行文件项" REG Delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL57 /v ImagePath /f if exist d: (set dir=D) else (set dir=C) set MysqlPath="%dir%:\Program Files\Mysql\mysql-8.0.16-winx64"
mkdir %MysqlPath%
xcopy mysql-8.0.16-winx64 %MysqlPath% /e /y cd %MysqlPath% %dir%: mysqlinstall.bat exit
mysqlinstall.bat脚本内容:
@echo off rem ************MySQL环境变量部署*********************** "%~dp0"\bin\mysqld.exe -install echo "添加服务执行文件项"
REG add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL57 /v ImagePath /t REG_EXPAND_SZ /d "%cd%\bin\MySqld.exe --defaults-file=\"%cd%\my.ini\" MySQL57" /f cd bin mysqld --initialize-insecure net start mysql57 set dbPassword=test1234 "%~dp0"bin\mysqladmin.exe -uroot password "%dbPassword%" SET dbhost=127.0.0.1
SET dbuser=root
SET sqlpath=%~dp0 set sqlfile=update.sql echo %sqlpath%
mysql -h%dbhost% -u%dbuser% -p%dbPassword% < "%sqlpath%%sqlfile%" --default-character-set=gbk exit
update.sql 创建database,然后创建表,并插入记录
use mysql;
alter user 'root'@'localhost' identified with mysql_native_password by 'test1234';
flush privileges; CREATE DATABASE if not exists face_compare_db DEFAULT CHARACTER SET GBK COLLATE gbk_chinese_ci; USE face_compare_db; -- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS user;
CREATE TABLE user (
id int(20) NOT NULL AUTO_INCREMENT,
username varchar(60) NOT NULL,
password varchar(50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=GBK; -- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO user VALUES ('', 'admin', '4a0e4a801fc3');