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

通过Homebrew安装MariaDB后无法访问,该如何解决?

解决Homebrew安装MariaDB后的登录问题

我来帮你搞定这个问题!我之前用Homebrew装MariaDB时也碰到过一模一样的登录困境,其实核心是别把系统root密码和MariaDB的root账号搞混,而且Homebrew安装的MariaDB有几个特殊的初始化逻辑,下面一步步来解决:

第一步:尝试直接无sudo登录(最可能成功)

Homebrew安装的MariaDB默认root账号是空密码,但绝对不要用sudo执行mysql命令——sudo会让你输入系统root的密码,而MariaDB的root和系统root是完全独立的两个账号。直接执行:

mysql -uroot

如果能直接进入MariaDB命令行,那问题就解决了!之后你可以用SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');来设置密码。

第二步:如果第一步失败,找临时初始化密码

有些版本的MariaDB在Homebrew安装时会自动生成临时密码,存放在日志里。查看日志的命令:

  • Intel芯片Mac:
cat /usr/local/var/log/mariadb/mariadb.log | grep "temporary password"
  • Apple Silicon芯片Mac:
cat /opt/homebrew/var/log/mariadb/mariadb.log | grep "temporary password"

找到类似[Note] A temporary password is generated for root@localhost: xxxxxxxx的行,把那串临时密码记下来,然后用命令登录:

mysql -uroot -p

输入刚才找到的临时密码,进入后就可以重置自己的密码了。

第三步:如果找不到临时密码,跳过权限表重置密码

如果上面两步都不行,那就强制跳过权限验证来重置密码:

  1. 先停止正在运行的MariaDB服务:
brew services stop mariadb
  1. 启动跳过权限表的MariaDB进程:
mysqld_safe --skip-grant-tables &
  1. 现在直接登录MariaDB,不需要密码:
mysql -uroot
  1. 在MariaDB命令行里执行以下SQL重置密码(把your_new_password换成你想要的密码):
USE mysql;
UPDATE user SET authentication_string=PASSWORD('your_new_password') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
EXIT;
  1. 关闭临时启动的MariaDB进程:
mysqladmin -uroot -p shutdown

输入你刚设置的新密码,确认关闭。
6. 重启正常的MariaDB服务:

brew services start mariadb

现在就可以用新密码登录了:

mysql -uroot -p

小提示

  • Homebrew安装的MariaDB默认只绑定localhost,本地开发完全够用,不需要额外修改配置。
  • 以后登录MariaDB时,除非特殊情况,都不要加sudo,避免混淆系统和数据库的账号权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:30:37