Mac OS Sonoma下Homebrew安装的MySQL无法启动问题求助
macOS Sonoma 14.6.1 下Homebrew重装MySQL启动失败问题
环境与操作
系统:macOS Sonoma 14.6.1
操作:通过Homebrew重装MySQL后,执行启动命令:
sudo mysql.server start
情况一:全新安装(重装前删除/usr/local/var/mysql文件夹及内容)
执行启动命令后,错误日志如下:
2024-10-09T09:13:17.6NZ mysqld_safe 日志写入 '/usr/local/var/mysql/.err'。 2024-10-09T09:13:17.6NZ mysqld_safe 启动mysqld守护进程,数据库路径为 /usr/local/var/mysql 2024-10-09T09:13:17.797714Z 0 [系统] [MY-015015] [服务器] MySQL 服务器 - 启动。 2024-10-09T09:13:17.982937Z 0 [系统] [MY-010116] [服务器] /usr/local/opt/mysql/bin/mysqld (mysqld 9.0.1) 以进程 17933 启动 2024-10-09T09:13:17.985396Z 0 [警告] [MY-010159] [服务器] 设置 lower_case_table_names=2,因为 /usr/local/var/mysql/ 所在文件系统不区分大小写 2024-10-09T09:13:17.993893Z 1 [系统] [MY-013576] [InnoDB] InnoDB 初始化已启动。 2024-10-09T09:13:18.012828Z 1 [错误] [MY-012592] [InnoDB] 文件操作中出现操作系统错误号 2。 2024-10-09T09:13:18.012865Z 1 [错误] [MY-012593] [InnoDB] 该错误表示系统找不到指定路径。 2024-10-09T09:13:18.012874Z 1 [错误] [MY-012594] [InnoDB] 如果您正在安装InnoDB,请记住必须自行创建目录,InnoDB不会自动创建。 2024-10-09T09:13:18.012884Z 1 [错误] [MY-012646] [InnoDB] 文件 ./ibdata1:'open' 返回操作系统错误71。无法继续操作 2024-10-09T09:13:18.012897Z 1 [错误] [MY-012981] [InnoDB] 无法继续操作。 2024-10-09T09:13:18.6NZ mysqld_safe mysqld 从 pid 文件 /usr/local/var/mysql/.pid 退出 2024-10-09T09:13:21.6NZ mysqld_safe 日志写入 '/usr/local/var/mysql/.err'。 2024-10-09T09:13:21.6NZ mysqld_safe 启动mysqld守护进程,数据库路径为 /usr/local/var/mysql 2024-10-09T09:13:21.271166Z 0 [系统] [MY-015015] [服务器] MySQL 服务器 - 启动。 2024-10-09T09:13:21.454371Z 0 [系统] [MY-010116] [服务器] /usr/local/opt/mysql/bin/mysqld (mysqld 9.0.1) 以进程 18039 启动 2024-10-09T09:13:21.456889Z 0 [警告] [MY-010159] [服务器] 设置 lower_case_table_names=2,因为 /usr/local/var/mysql/ 所在文件系统不区分大小写 2024-10-09T09:13:21.456917Z 0 [错误] [MY-010123] [服务器] 致命错误:请阅读手册的“安全”章节,了解如何以root身份运行mysqld! 2024-10-09T09:13:21.457157Z 0 [错误] [MY-010119] [服务器] 中止 2024-10-09T09:13:21.457538Z 0 [系统] [MY-010910] [服务器] /usr/local/opt/mysql/bin/mysqld:关闭完成 (mysqld 9.0.1) Homebrew。 2024-10-09T09:13:21.457543Z 0 [系统] [MY-015016] [服务器] MySQL 服务器 - 结束。 2024-10-09T09:13:21.6NZ mysqld_safe mysqld 从 pid 文件 /usr/local/var/mysql/.pid 退出
情况二:保留旧/usr/local/var/mysql文件夹内容(非全新安装)
执行相同启动命令后,错误日志如下:
2024-10-09T09:33:14.6NZ mysqld_safe 日志写入 '/usr/local/var/mysql/erik-mac.err'。 2024-10-09T09:33:14.6NZ mysqld_safe 启动mysqld守护进程,数据库路径为 /usr/local/var/mysql 2024-10-09T09:33:14.811122Z 0 [系统] [MY-015015] [服务器] MySQL 服务器 - 启动。 2024-10-09T09:33:14.993247Z 0 [系统] [MY-010116] [服务器] /usr/local/opt/mysql/bin/mysqld (mysqld 9.0.1) 以进程 42946 启动 2024-10-09T09:33:14.995678Z 0 [警告] [MY-010159] [服务器] 设置 lower_case_table_names=2,因为 /usr/local/var/mysql/ 所在文件系统不区分大小写 2024-10-09T09:33:14.995704Z 0 [错误] [MY-010123] [服务器] 致命错误:请阅读手册的“安全”章节,了解如何以root身份运行mysqld! 2024-10-09T09:33:14.995929Z 0 [错误] [MY-010119] [服务器] 中止 2024-10-09T09:33:14.996300Z 0 [系统] [MY-010910] [服务器] /usr/local/opt/mysql/bin/mysqld:关闭完成 (mysqld 9.0.1) Homebrew。 2024-10-09T09:33:14.996304Z 0 [系统] [MY-015016] [服务器] MySQL 服务器 - 结束。 2024-10-09T09:33:15.6NZ mysqld_safe mysqld 从 pid 文件 /usr/local/var/mysql/erik-mac.pid 退出
已尝试的解决方法
- 从头重装MySQL共3次
- 修改
/usr/local/var/mysql的所有权为mysql:mysql - 重装前删除
/usr/local/var/mysql文件夹及所有内容
解决方案
1. 用Homebrew官方方式管理服务
MySQL 8.0+ 默认禁止以root用户直接运行mysqld,推荐用brew services管理服务,无需sudo:
# 启动服务 brew services start mysql # 停止服务 brew services stop mysql # 重启服务 brew services restart mysql
2. 修复全新安装的目录与初始化问题
如果用brew services仍报错,执行以下步骤(确保已备份数据):
- 终止所有MySQL进程:
pkill mysqld pkill mysqld_safe - 删除旧数据库目录:
rm -rf /usr/local/var/mysql - 重新初始化MySQL(指定mysql用户):
mysqld --initialize --user=mysql --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql - 启动服务:
brew services start mysql
3. 重置root密码
初始化完成后,临时密码会存放在日志中,执行以下命令查看:
cat /usr/local/var/mysql/*.err | grep "temporary password"
用临时密码登录后重置密码:
mysql -uroot -p
登录后执行SQL命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; FLUSH PRIVILEGES;
内容的提问来源于stack exchange,提问作者Erik T
相关产品推荐
相关产品推荐

