注:你要是對批處理不太熟悉,沒關系,直接跳過代碼部分,看下面就好了
批處理代碼
@cd /d %~dp0
@%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
:以管理者身份運作cmd
@echo off
setlocal enabledelayedexpansion
:變量延遲的啟動語句是“setlocal enabledelayedexpansion”,并且變量要用一對歎号“!!”括起來(注意要用英文的歎号)
echo 開始時間 %date%%time% >> ./install_log.txt
echo ****************檢測是否存在mysql服務*****************
echo.
SC QUERY mysql > NUL
if !errorlevel! equ 0 (
echo *******************已經存在mysql服務******************
echo 已經存在mysql服務 >> ./install_log.txt
echo.
pause
exit
)
echo ***************不存在mysql服務,開始安裝**************
echo.
echo **************開始設定系統變量MYSQL_BIN***************
echo.
SET mysqldir=%cd%
SETX /M "MYSQL_BIN" "%mysqldir%\bin" >> ./install_log.txt
if !errorlevel! equ 0 (
echo **************設定系統變量MYSQL_BIN成功***************
echo.
) else (
echo **************設定系統變量MYSQL_BIN失敗***************
echo 設定系統變量MYSQL_BIN失敗 >> ./install_log.txt
echo.
pause
exit
)
:mysql路徑
echo *****************開始設定系統變量path*****************
echo.
SET KEY_NAME=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
SET VALUE_NAME=path
FOR /F "tokens=2*" %%A IN ('REG.exe query "%KEY_NAME%" /v "%VALUE_NAME%"') DO (set pInstallDir=%%B)
SET pathvalue=%pInstallDir%
:系統path值
SET setpath=0
:loop
for /f "tokens=1* delims=;" %%a in ("%pathvalue%") do (
if "%%a"=="%%MYSQL_BIN%%" (
SET setpath=1
)
::剩下的指派給原來的副本,以備下次分段
set pathvalue=%%b
)
::如果還有剩餘,則繼續分割
if defined pathvalue goto :loop
if "%setpath%" == "1" (
echo *****************設定系統變量path成功*****************
echo.
) else (
SETX /M "Path" "%pInstallDir%;%%MYSQL_BIN%%" >> ./install_log.txt
if !errorlevel! equ 0 (
echo ****************設定系統變量path成功******************
echo.
) else (
echo *****************設定系統變量path失敗*****************
echo 設定系統變量path失敗 >> ./install_log.txt
echo.
pause
exit
)
)
echo ******************開始處理my.ini檔案******************
echo.
SET myinifilename=my.ini
if exist %myinifilename% (attrib -r -s -h ./my.ini)
:去除檔案具有系統、隻讀、隐藏之類屬性這些屬性,使用attrib指令
cd.>./my.ini
:清空my.ini檔案
echo ******************處理my.ini檔案完成******************
echo.
echo ******************開始寫入mysql配置*******************
echo.
echo [mysql]>> my.ini
echo default-character-set=utf8>> my.ini
echo.>>my.ini
echo [mysqld]>> my.ini
echo port=3306>> my.ini
echo basedir=%mysqldir:\=/%/>> my.ini
echo datadir=%mysqldir:\=/%/data/>> my.ini
echo character-set-server=utf8>> my.ini
echo default-storage-engine=MyISAM>> my.ini
echo max_connections=100>> my.ini
echo ******************寫入mysql配置完成*******************
echo.
echo ******************開始安裝mysql服務*******************
echo.
cd ./bin
mysqld --install mysql >> ../install_log.txt
if !errorlevel! equ 0 (
echo ******************安裝mysql服務成功*******************
echo.
) else (
echo ******************安裝mysql服務失敗*******************
echo 安裝mysql服務失敗 >> ../install_log.txt
echo.
pause
exit
)
echo ******************開始啟動mysql服務*******************
echo.
net start mysql >> ../install_log.txt
if !errorlevel! equ 0 (
echo ******************啟動mysql服務成功*******************
echo 1 >> ./is_install.txt
echo.
) else (
echo ******************啟動mysql服務失敗*******************
echo 啟動mysql服務失敗 >> ../install_log.txt
echo.
pause
exit
)
echo 結束時間 %date%%time% >> ../install_log.txt
echo. >> ../install_log.txt
echo. >> ../install_log.txt
pause
MySQL5.7綠色安裝包+批處理使用
安裝包連結:https://pan.baidu.com/s/1OUCuAuDg8opBF-XBdXa1xQ 提取碼:b1ry
注:安裝包裡面包含了自動安裝mysql的批處理,如果你隻想要綠色安裝包,删掉install.bat檔案就好了
為了安全我提前建好了mysql的data檔案夾,防止别人看到bat檔案就知道你的密碼,MySQL密碼是root,你可以根據自己的需要再該
使用方法:
- 把下載下傳好的安裝包解壓放在你想安裝的位置
- 輕按兩下安裝包裡面的install.bat檔案