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

MacOS Monterey下MySQL无法启动及登录失败问题求助

MacBook Pro(Monterey)MySQL配置故障排查

核心问题

  • 启动失败:系统偏好设置中点击「Start MySQL Server」后,服务器几秒后自动关闭
  • 登录失败:偶尔重启重装后服务器能运行,但终端执行mysql -u root -p或MySQL Workbench用安装密码登录时提示「Access Denied」

初始化错误日志

2022-08-17T13:58:03.594154Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.30-macos12-arm64/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 1279
2022-08-17T13:58:03.596412Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/mysql-8.0.30-macos12-arm64/data/ is case insensitive
2022-08-17T13:58:03.604502Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-17T13:58:03.721094Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-17T13:58:05.536330Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: W<dvfErrh0DC
2022-08-17T13:58:06.411738Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.30).
2022-08-17T13:58:07.176536Z 0 [System] [MY-010116] [Server] /usr/local/mysql-8.0.30-macos12-arm64/bin/mysqld (mysqld 8.0.30) starting as process 1284
2022-08-17T13:58:07.179562Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/mysql-8.0.30-macos12-arm64/data/ is case insensitive
2022-08-17T13:58:07.194523Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-17T13:58:07.269541Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-17T13:58:07.400561Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/tmp/mysqlx.sock' failed, can't open lock file /tmp/mysqlx.sock.lock'
2022-08-17T13:58:07.498398Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-08-17T13:58:07.498450Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-08-17T13:58:07.499048Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Address already in use
2022-08-17T13:58:07.499068Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?
2022-08-17T13:58:07.499087Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-08-17T13:58:08.543591Z 0 [System] [MY-010910] [Server] /usr/local/mysql-8.0.30-macos12-arm64/bin/mysqld: Shutdown complete (mysqld 8.0.30)  MySQL Community Server - GPL.

解决方案

问题1:服务器启动后自动关闭(端口占用)

从日志核心错误Bind on TCP/IP port: Address already in use可知,3306端口被其他进程占用,按以下步骤处理:

  1. 查找占用3306端口的进程:
    lsof -i :3306
    
  2. 终止对应进程(替换<PID>为查到的进程ID):
    kill -9 <PID>
    
  3. 手动删除mysqlx锁文件及套接字文件:
    sudo rm /tmp/mysqlx.sock.lock
    sudo rm /tmp/mysqlx.sock
    
  4. 重新在系统偏好设置中启动MySQL服务。

问题2:登录提示Access Denied

MySQL 8.0初始化时会生成临时密码,需用临时密码登录后重置密码,而非安装时设置的密码:

  1. 确保MySQL服务正常运行,终端执行:
    mysql -u root -p
    
  2. 输入日志中的临时密码W<dvfErrh0DC>登录(注意特殊符号输入正确)
  3. 登录成功后重置root密码:
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
    FLUSH PRIVILEGES;
    
  4. 退出后用新密码重新登录终端或MySQL Workbench。

彻底重置(若上述方法无效)

反复重装仍有问题时,执行彻底清理后重新安装:

  1. 停止MySQL服务(系统偏好设置中点击Stop)
  2. 卸载MySQL相关文件:
    sudo rm -rf /usr/local/mysql*
    sudo rm -rf /Library/StartupItems/MySQLCOM
    sudo rm -rf /Library/PreferencePanes/MySQL*
    rm -rf ~/Library/PreferencePanes/MySQL*
    sudo rm -rf /Library/Receipts/mysql*
    sudo rm -rf /Library/Receipts/MySQL*
    sudo rm -rf /var/db/receipts/com.mysql.*
    
  3. 删除残留数据文件:
    sudo rm -rf /usr/local/var/mysql
    
  4. 重启电脑后重新下载对应版本的MySQL安装包安装,安装完成后查看初始化日志获取临时密码,按步骤重置密码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:36:16