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

执行brew services start mysql后MySQL服务仍停止的问题求助

问题场景

执行以下操作后:

brew services restart mysql

输出显示操作成功:

==> Successfully stopped `mysql` (label: homebrew.mxcl.mysql)
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

但执行brew services list却显示MySQL处于停止状态:

Name  Status   User File
mysql stopped  me   ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

MariaDB也出现完全相同的问题。请问/usr/local/var/mysql目录中的内容是否会对此产生影响?


解答

是的,/usr/local/var/mysql目录的内容确实会导致这类问题,常见原因及解决方法如下:

  • 权限不匹配
    MySQL/MariaDB默认以_mysql用户身份运行,如果/usr/local/var/mysql目录或其中文件的所有者、权限不正确,进程会因无法读写数据而启动后立刻崩溃。
    检查权限:

    ls -ld /usr/local/var/mysql
    ls -l /usr/local/var/mysql
    

    修复权限:

    sudo chown -R _mysql:_mysql /usr/local/var/mysql
    sudo chmod -R 755 /usr/local/var/mysql
    
  • 核心数据/日志文件损坏
    目录中的ib_logfile0、ib_logfile1、ibdata1等InnoDB核心文件损坏,会导致服务启动失败。操作前务必备份数据,然后尝试移除损坏的日志文件:

    mv /usr/local/var/mysql/ib_logfile0 /usr/local/var/mysql/ib_logfile0.bak
    mv /usr/local/var/mysql/ib_logfile1 /usr/local/var/mysql/ib_logfile1.bak
    

    之后重新启动服务。

  • 配置文件指向错误
    若自定义的my.cnf(通常在/usr/local/etc/my.cnf或~/.my.cnf)中datadir参数未正确指向/usr/local/var/mysql,也会导致服务启动异常,检查并修正该参数即可。

排查小技巧

直接查看MySQL/MariaDB的错误日志,能快速定位具体故障原因:

tail -f /usr/local/var/mysql/$(hostname).err

内容的提问来源于stack exchange,提问作者Ildar Meyker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:40:32