最近在搞一個web項目部署,每次都要安裝jdk、配置環境變量、安裝tomcat和mysql。對於非開發人員,仍是有點難度的,常常出錯,而後就整理了一個自動化的腳本。mysql
JDKinstall.batweb
@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盤。sql
1 @echo off 2 3 echo ********************************************** 4 echo. 5 echo 將要安裝Tomcat 6 7 echo. 8 9 echo. 10 11 echo ********************************************** 12 13 echo. 14 15 echo 正在安裝Tomcat,請不要執行其餘操做 16 17 echo. 18 19 echo 請稍等,這個時間大約須要幾分鐘 20 21 echo. 22 23 if exist d: (set dir=D) else (set dir=C) 24 25 set TomcatPath="%dir%:\Program Files\Apache Software Foundation\" 26 mkdir %TomcatPath% 27 mkdir %TomcatPath%image 28 xcopy apache-tomcat-8.5.43-windows-x64 %TomcatPath% /e /y 29 30 cd %TomcatPath%Tomcat 8.5\bin 31 %dir%: 32 service.bat uninstall 33 service.bat install 34 35 exit
mysql也是免安裝版的,免安裝的源目錄下準備好本身所要的my.ini配置文件,mysqlinstall.bat安裝腳本 以及建表操做表的sql文件update.sql。目錄結構以下:apache
還有一個mysql.bat文件,是把上面的目錄結構拷貝到D盤,若是D盤不存在,則拷貝到C盤,而後進入到安裝目錄裏,執行mysqlinstall.bat文件。windows
mysql.bat腳本內容:tomcat
@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腳本內容:ide
@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,而後建立表,並插入記錄spa
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 ('1', 'admin', '4a0e4a801fc3');