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

MacOS 12.5.1下通过Homebrew安装MariaDB权限问题求助

解决MacOS 12.5.1下Homebrew安装MariaDB的权限问题

问题根源

Homebrew安装的MariaDB在MacOS上默认给root@localhost使用auth_socket认证插件,而非密码认证。这意味着只有通过系统root权限(如sudo)启动的客户端才能以MariaDB root身份获得完整权限,普通密码登录的root实际是权限受限的用户(或残留的无效用户)。

修复步骤

1. 停止当前MariaDB服务

brew services stop mariadb

2. 跳过权限表启动MariaDB

这一步让你无需权限验证即可登录,以便修改用户权限:

mysqld_safe --skip-grant-tables &

3. 无密码登录MariaDB

mysql -u root

4. 调整root用户权限与认证方式

进入mysql系统库:

USE mysql;

选项A:切换为密码认证(推荐,适配多数场景)

将root用户改为密码认证并设置密码,同时授予完整权限:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_secure_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

选项B:保留auth_socket认证(仅本地sudo登录场景)

如果只需要本地通过sudo操作数据库,直接刷新权限即可:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5. 重启MariaDB服务

先关闭临时启动的无权限验证进程:

mysqladmin -u root shutdown

再用Homebrew重启服务:

brew services restart mariadb

验证修复

  • 若选了选项A,用密码登录并测试建库:
mysql -u root -p
CREATE DATABASE wp_new;
  • 若选了选项B,用sudo登录测试:
sudo mysql -u root
CREATE DATABASE wp_new;

额外说明

  • 无需执行mysql_install_db:Homebrew安装MariaDB时已经自动初始化了数据目录,重复执行会触发存在性提示。
  • mariadb-upgrade失败是因为之前的root用户权限不足,修复后可正常运行(若需要升级):
mariadb-upgrade -u root -p  # 选项A用这个
# 或
sudo mariadb-upgrade -u root  # 选项B用这个

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:47:26