From c6d837a34970ca35a63bd2cbf87daa77fb5f3404 Mon Sep 17 00:00:00 2001 From: yuejiajun <1530620364@qq.com> Date: Thu, 14 Aug 2025 18:10:10 +0800 Subject: [PATCH] Windows MySQL --- base/Resources/mysql/data/Readme.md | 0 base/Resources/mysql/database.rar | Bin 0 -> 384 bytes .../mysql/import-data-into-mysql.bat | 29 +++++++++ .../template-initialize-and-start-mysql.bat | 61 ++++++++++++++++++ .../template-register-mysql-with-data.bat | 48 ++++++++++++++ base/Resources/mysql/template.ini | 16 +++++ 6 files changed, 154 insertions(+) create mode 100644 base/Resources/mysql/data/Readme.md create mode 100644 base/Resources/mysql/database.rar create mode 100644 base/Resources/mysql/import-data-into-mysql.bat create mode 100644 base/Resources/mysql/template-initialize-and-start-mysql.bat create mode 100644 base/Resources/mysql/template-register-mysql-with-data.bat create mode 100644 base/Resources/mysql/template.ini diff --git a/base/Resources/mysql/data/Readme.md b/base/Resources/mysql/data/Readme.md new file mode 100644 index 0000000..e69de29 diff --git a/base/Resources/mysql/database.rar b/base/Resources/mysql/database.rar new file mode 100644 index 0000000000000000000000000000000000000000..3611d011c379cd0e2aef8e4e869724ba0ae03738 GIT binary patch literal 384 zcmV-`0e}8dVR9iF2LS-{;ezW60R;yD1_1$pfPer~h47as0s{-P0tEa9AZbtF&wv8} z3}j(+VPau(WiE4ZYzhMcR_#iX0Sw#$&$}-HHe^FHFLYkwM}xC~qDKJ%WlE%RHp<FP zU+EYg`ipHAw_@C@5uqmX8Z$+>OL&Hk7;^e1*CEp0D<;>iD^q^DK1lV50%(`rYrUhE z>0Tq3iIZrIoczQ?pTcRjF~`ocSHGu4Ju! zl(ebuYl-%!C!gYaJE)2`g%dL+iNm%MuVtSJzFLB!s(atwMJA}<(-gV*J8Ge7_ATGB eCcyFTZ(yo6W_{>&1gW3?Z*bflcUDmY1q1;7#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服务... +"%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服务... +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 diff --git a/base/Resources/mysql/template-register-mysql-with-data.bat b/base/Resources/mysql/template-register-mysql-with-data.bat new file mode 100644 index 0000000..d68656a --- /dev/null +++ b/base/Resources/mysql/template-register-mysql-with-data.bat @@ -0,0 +1,48 @@ +@echo off +chcp 65001 +setlocal enabledelayedexpansion + +:: 检查是否以管理员身份运行 +net session >nul 2>&1 +if %errorLevel% neq 0 ( + echo 请使用管理员身份运行此脚本! + pause + exit /b 1 +) + +:: 1. 停止并删除现有MySQL服务 +echo 正在停止MySQL服务... +net stop MySQL >nul 2>&1 + +echo 正在删除已有的MySQL服务... +sc delete MySQL >nul 2>&1 +if %errorLevel% equ 0 ( + echo [成功] MySQL服务已删除 +) else ( + echo [警告] 删除MySQL服务失败(可能服务不存在) +) + +:: 2. 安装MySQL服务 +echo 正在安装MySQL服务... +mysqld --install MySQL --defaults-file="%INSTALLPATH%\my.ini" +if %errorLevel% equ 0 ( + echo [成功] MySQL服务安装完成 +) else ( + echo [错误] MySQL服务安装失败 + pause + exit /b 1 +) + +:: 3. 启动MySQL服务 +echo 正在启动MySQL服务... +net start MySQL +if %errorLevel% equ 0 ( + echo [成功] MySQL服务已启动 +) else ( + echo [错误] MySQL服务启动失败 + pause + exit /b 1 +) + +echo 所有操作已完成! +pause \ No newline at end of file diff --git a/base/Resources/mysql/template.ini b/base/Resources/mysql/template.ini new file mode 100644 index 0000000..ff1a193 --- /dev/null +++ b/base/Resources/mysql/template.ini @@ -0,0 +1,16 @@ +[mysqld] +port=33306 +basedir=%INSTALLPATH% +datadir=%DATAPATH% +max_connections=200 +max_connect_errors=10 +character-set-server=utf8mb4 +default-storage-engine=INNODB +default_authentication_plugin=mysql_native_password + +[mysql] +default-character-set=utf8mb4 + +[client] +port=33306 +default-character-set=utf8mb4