@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