注:你要是對批處理不太熟悉,沒關係,直接跳過代碼部分,看下面就好了
批處理代碼
@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文件