WindowsStarter/base/Resources/mysql/template-initialize-and-start-mysql.bat
2025-08-14 19:35:02 +08:00

62 lines
1.7 KiB
Batchfile

@echo off
chcp 65001
setlocal enabledelayedexpansion
:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorLevel% neq 0 (
echo 请使用管理员身份运行此脚本!
pause
exit /b 1
)
:: 配置参数 - 根据你的环境修改这些值
set "MYSQL_HOME=%INSTALLPATH%"
set "MYSQL_BIN_PATH=%INSTALLPATH%\bin"
set "MYSQLD_PATH=%INSTALLPATH%\bin\mysqld.exe"
set "MY_INI_PATH=%INSTALLPATH%\my.ini"
set "SERVICE_NAME=x_database"
set "NEW_ROOT_PASSWORD=Root@2025"
set "DATA_DIR=%INSTALLPATH%\data"
:: 1. 初始化MySQL
echo [1/4] 正在初始化MySQL...
:: "%MYSQL_BIN_PATH%\mysqld" --defaults-file="%MY_INI_PATH%" --initialize-insecure --basedir="%MYSQL_BIN_PATH%\.." --datadir="%DATA_DIR%"
"%MYSQL_BIN_PATH%\mysqld" --defaults-file="%MY_INI_PATH%" --initialize-insecure --basedir="%MYSQL_HOME%" --datadir="%DATA_DIR%"
if errorlevel 1 (
echo 初始化失败
exit /b 1
)
:: 2. 注册MySQL服务
echo [2/4] 正在注册MySQL服务[%SERVICE_NAME%]...
"%MYSQL_BIN_PATH%\mysqld" --install "%SERVICE_NAME%" --defaults-file="%MY_INI_PATH%"
if errorlevel 1 (
echo 服务注册失败
exit /b 1
)
:: 3. 启动MySQL服务
echo [3/4] 正在启动MySQL服务[%SERVICE_NAME%]...
net start "%SERVICE_NAME%"
if errorlevel 1 (
echo 服务启动失败
exit /b 1
)
:: 4. 修改root密码
echo [4/4] 正在修改root密码...
"%MYSQL_BIN_PATH%\mysql" -u root --skip-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '%NEW_ROOT_PASSWORD%'; FLUSH PRIVILEGES;"
if errorlevel 1 (
echo 密码修改失败
exit /b 1
)
echo MySQL已成功初始化并配置!
echo 服务名称: %SERVICE_NAME%
echo Root新密码: %NEW_ROOT_PASSWORD%
echo my.ini路径: %MY_INI_PATH%
pause
endlocal