本帖最后由 l8161871 于 2025-6-22 10:14 编辑
解决mysql崩溃的问题:
昨天给作者发了单独的监控mysql是否崩溃的小工具,但是Q群里的大伙似乎对单机端不是很感兴趣,今天在这里再发个优化后的脚本,该脚本会首先启动Start MySql.bat,然后循环监控mysql.exe进程,当mysql.exe崩溃时会发出蜂鸣警告,然后重新运行Start MySql.bat,这期间mangosd是不会崩溃的,我昨天玩了一天,等级,经验,装备都不会回档,但是有些任务会回档,就是做过的任务显示没完成,之前做的经验已经获得了,后面再登陆游戏又能重新做。
下面是脚本代码,在Start MySql.bat同目录下新建个ANSI编码的.bat文件,文件名随意,以后就用这个启动数据库就行,不需要再启动Start MySql.bat
- @echo off
- chcp 936 > nul &rem 切换为GBK编码(解决中文乱码,若仍乱码可试chcp 65001为UTF-8)
- title MySQL崩溃监控(蜂鸣+自动重启)
-
- :: ========== 配置区:修改为你的MySQL启动脚本路径 ==========
- set "start_script=Start MySQL.bat" &rem 假设启动脚本是Start MySQL.bat,需与实际文件名一致
-
- :: 1. 启动MySQL服务(首次启动)
- call "%start_script%"
-
- :monitor_loop
- :: 2. 检查mysqld.exe进程是否存在(进程名必须准确,区分大小写)
- tasklist /FI "IMAGENAME eq mysqld.exe" 2>NUL | find /I "mysqld.exe" >NUL
- if %ERRORLEVEL% NEQ 0 (
- :: 3. 进程不存在 → 判定为崩溃,执行蜂鸣+重启
- echo 【警告】检测到MySQL进程意外终止,发出蜂鸣...
- :: 方法①:PowerShell 蜂鸣(推荐,系统内置,无需特殊字符)
- powershell -Command "[Console]::Beep(800, 1000)" &rem 800Hz频率,响1秒
-
- echo 正在自动重启MySQL...
- :: 4. 调用启动脚本重启MySQL
- call "%start_script%"
- )
-
- :: 5. 每5秒检查一次进程(可根据需求调整间隔,如timeout /t 10)
- timeout /t 5 >nul
- goto monitor_loop
复制代码
|