You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下XAMPP数据库每周2-3次无法启动的修复求助

解决Windows下XAMPP MySQL频繁无法启动及aria_sort_buffer_size修复失败问题

1. 修正aria_sort_buffer_size配置的格式与生效问题

你当前配置的aria_sort_buffer_size = 268 435 456存在格式错误——数值中的空格会导致MySQL无法识别,实际仍使用默认的16384字节,这就是修复时提示缓冲区过小的核心原因。

  • 打开XAMPP安装目录下的mysql/bin/my.ini(确保是MySQL实际加载的配置文件,可通过MySQL命令行执行SHOW VARIABLES LIKE 'aria_sort_buffer_size';验证当前生效值)
  • 修改参数为无空格的数值或直观的单位格式:
    aria_sort_buffer_size = 268435456
    # 或更易读的写法:aria_sort_buffer_size = 256M
    
  • 保存后完全重启MySQL服务,再次通过命令行或phpMyAdmin确认参数已生效

2. 正确修复mysql.columns_priv表

使用MySQL内置的myisamchk工具(columns_priv属于MyISAM引擎表)直接修复,避免在线修复的限制:

  1. 停止XAMPP中的MySQL服务
  2. 打开XAMPP Shell,进入MySQL数据目录下的mysql子目录:
    cd xampp/mysql/data/mysql
    
  3. 执行修复命令,指定足够大的排序缓冲区:
    myisamchk --repair --sort_buffer_size=256M columns_priv.MYI
    
  4. 修复完成后启动MySQL服务

3. 排查异常关闭的根源(解决反复崩溃问题)

每日关机前的服务停止操作可能未正常完成,导致数据库表损坏:

  • 点击XAMPP面板的MySQL停止按钮后,等待状态明确显示Stopped再执行关机,避免强制终止进程
  • 查看Windows事件查看器(Windows日志>应用程序)中的MySQL相关日志,确认关机时是否有异常终止记录
  • 在my.ini中增加超时配置,给MySQL足够的关闭时间:
    wait_timeout = 600
    interactive_timeout = 600
    

4. 替换XAMPP内置的MySQL版本

若全新安装XAMPP仍出现相同问题,说明该版本XAMPP打包的MySQL存在兼容性或bug:

  • 下载对应版本的官方MySQL压缩包(Windows版)
  • 停止XAMPP服务,备份原xampp/mysql目录
  • 将下载的MySQL文件解压后替换xampp/mysql目录,保留原有的data文件夹和my.ini配置
  • 重新启动MySQL服务

内容的提问来源于stack exchange,提问作者Kevin Colbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:02:39