WindowsStarter/base/Resources/mysql/template-register-mysql-with-data.bat
2025-08-17 02:23:38 +08:00

76 lines
1.9 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul
title Register MySQL Service
:: Check if running as administrator
net session >nul 2>&1
if %errorLevel% neq 0 (
echo Please run this script as Administrator!
pause
exit /b 1
)
:: Configuration parameters
set "SERVICE_NAME=x_database"
set "MYSQLD_PATH=mysqld.exe"
set "MY_INI_PATH=%INSTALLPATH%\my.ini"
:: Verify mysqld.exe exists
where %MYSQLD_PATH% >nul 2>&1
if %errorLevel% neq 0 (
echo Error: mysqld.exe not found in PATH
pause
exit /b 1
)
:: Verify my.ini exists
if not exist "%MY_INI_PATH%" (
echo Error: Configuration file not found at %MY_INI_PATH%
pause
exit /b 1
)
:: 1. Stop and remove existing MySQL service
echo Stopping MySQL service [%SERVICE_NAME%]...
net stop %SERVICE_NAME% >nul 2>&1
echo Removing existing MySQL service [%SERVICE_NAME%]...
sc query %SERVICE_NAME% >nul 2>&1
if %errorLevel% equ 0 (
sc delete %SERVICE_NAME% >nul 2>&1
if %errorLevel% equ 0 (
echo [Success] MySQL service [%SERVICE_NAME%] removed
) else (
echo [Error] Failed to remove MySQL service [%SERVICE_NAME%]
pause
exit /b 1
)
) else (
echo [Info] MySQL service [%SERVICE_NAME%] does not exist (no action needed)
)
:: 2. Install MySQL service
echo Installing MySQL service [%SERVICE_NAME%]...
%MYSQLD_PATH% --install %SERVICE_NAME% --defaults-file="%MY_INI_PATH%"
if %errorLevel% equ 0 (
echo [Success] MySQL service [%SERVICE_NAME%] installed
) else (
echo [Error] Failed to install MySQL service [%SERVICE_NAME%]
pause
exit /b 1
)
:: 3. Start MySQL service
echo Starting MySQL service [%SERVICE_NAME%]...
net start %SERVICE_NAME%
if %errorLevel% equ 0 (
echo [Success] MySQL service [%SERVICE_NAME%] started
) else (
echo [Error] Failed to start MySQL service [%SERVICE_NAME%]
pause
exit /b 1
)
echo All operations completed successfully!
pause