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

macOS 10.14系统下MySQL 8.0.27关闭后无法启动如何解决?

问题描述

我确认此问题与其他现有问题不重复。

  • 操作系统:macOS 10.14
  • MySQL版本:8.0.27

问题背景

数月前安装运行过MySQL服务器,之后未使用。今日重新使用时可正常通过mysql命令连接服务器执行查询,执行mysqladmin shutdown -uroot关闭服务器后,无法再次启动。

已尝试的无效方案

尝试1:运行mysqld命令

执行后报错如下,启动失败:

$ mysqld
2021-11-17T07:45:07.200232Z 0 [System] [MY-010116] [Server] /usr/local/mysql-8.0.27-macos11-x86_64/bin/mysqld (mysqld 8.0.27) starting as process 3006
2021-11-17T07:45:07.203326Z 0 [Warning] [MY-010091] [Server] Can't create test file /usr/local/mysql-8.0.27-macos11-x86_64/data/mysqld_tmp_file_case_insensitive_test.lower-test
2021-11-17T07:45:07.203335Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/mysql-8.0.27-macos11-x86_64/data/ is case insensitive
2021-11-17T07:45:07.203422Z 0 [ERROR] [MY-013276] [Server] Failed to set datadir to '/usr/local/mysql-8.0.27-macos11-x86_64/data/' (OS errno: 2 - No such file or directory)
2021-11-17T07:45:07.203485Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-11-17T07:45:07.203680Z 0 [System] [MY-010910] [Server] /usr/local/mysql-8.0.27-macos11-x86_64/bin/mysqld: Shutdown complete (mysqld 8.0.27)  MySQL Community Server - GPL.

尝试2:运行mysqld_safe命令

执行后报错如下,启动失败:

$ mysqld_safe
/usr/local/mysql/bin/mysqld_safe: line 653: /usr/local/mysql/data/LSiMac.local.err: No such file or directory
Logging to '/usr/local/mysql/data/LSiMac.local.err'.
2021-11-17T07:46:34.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
/usr/local/mysql/bin/mysqld_safe: line 144: /usr/local/mysql/data/LSiMac.local.err: No such file or directory
/usr/local/mysql/bin/mysqld_safe: line 199: /usr/local/mysql/data/LSiMac.local.err: No such file or directory
/usr/local/mysql/bin/mysqld_safe: line 916: /usr/local/mysql/data/LSiMac.local.err: No such file or directory
2021-11-17T07:46:34.6NZ mysqld_safe mysqld from pid file /usr/local/mysql/data/LSiMac.local.pid ended
/usr/local/mysql/bin/mysqld_safe: line 144: /usr/local/mysql/data/LSiMac.local.err: No such file or directory

尝试3:运行mysql.server start命令

/usr/local/mysql/bin路径下不存在mysql.server文件,无法执行。

尝试4:重启电脑

重启后执行上述所有命令,问题依旧存在。

尝试5:完全重装MySQL

使用以下命令完全卸载后两次重装,问题未解决:

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*

尝试6:通过MySQL偏好设置面板启动

操作后无效果,此前该功能可正常使用。

异常现象

活动监视器中mysqld进程反复启动又被杀死,疑似存在两个进程分别控制启动和终止。


解决方案

从报错信息判断核心问题是MySQL进程没有对应数据目录的读写权限,且手动启动时未使用正确权限身份执行命令,按以下步骤操作即可解决:

  1. 终止后台反复重启的mysqld进程
    执行以下命令停止系统级别的MySQL自启服务,避免进程反复被拉起:
sudo launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
  1. 创建并授权MySQL数据目录
    默认MySQL 8.0在macOS下的数据目录为/usr/local/mysql/data,如果目录不存在先手动创建,再将目录所有权赋给MySQL专属的_mysql用户组:
sudo mkdir -p /usr/local/mysql/data
sudo chown -R _mysql:_mysql /usr/local/mysql/data
  1. 初始化数据库(仅首次创建数据目录后执行)
    如果之前的数据已经丢失,执行初始化命令生成系统表和初始root密码,执行后注意终端输出的初始密码,后续登录需要用到:
sudo mysqld --initialize --user=_mysql
  1. 启动MySQL服务
    通过系统launchd服务启动,后续开机也会自动运行:
sudo launchctl load /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

如果需要手动临时启动,可以用以下命令:

sudo mysqld_safe --user=_mysql &
  1. 验证启动状态
    执行ps aux | grep mysqld查看进程是否正常运行,正常启动后即可通过mysql -uroot -p命令连接服务。

内容的提问来源于stack exchange,提问作者Shuai Li

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:54:03