mac 使用 brew 安装 mysql,登录时报错: ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

142 天前
 KaneW95

这是什么原因呢,网上找了好多方法都没解决,是不是权限有问题,我看了进程,mysql 不是在 root 账户上的,有没有大佬解答一下

4487 次点击
所在节点    程序员
65 条回复
quqiu
142 天前
如果是测试用的,其实可以起 docker 。
hexiaowu1993
142 天前
为什么不用 docker 跑啊,挂载到宿主机,方便得很。
263
142 天前
root 密码不对
KaneW95
142 天前
@263 开启安全模式,也没用
KaneW95
142 天前
@hexiaowu1993 我试试
neutrino
142 天前
搜“修改 MySQL root 密码”,应该是起个 mysqld skip 之类的然后 mysql 空密码进去改
julyclyde
142 天前
@quqiu
@hexiaowu1993
这事跟 docker 就没有任何关系

难道用了 docker 就可以不必学习 mysql 权限控制相关知识了?
263
142 天前
首次安装后,可能会生成临时密码,去 log 里面找。然后首次登录进去后需要修改 root 密码
hefish
142 天前
这个 root 是 mysql 的 root 账号, 不是系统的 root
另外根据 Mysql 的不同版本, 有些新版为了安全起见,默认 root 密码是随机生成的,需要去 log 里找。
如果找不到, 可以去网上搜一下 找回 mysql root 密码的操作。 大致是用--skip-grant-table 参数 手动启 mysqld ,然后直接用 mysql 连接。
billgong
142 天前
Homebrew 的 MySQL 和 MariaDB 默认 root 没密码,但都开了用户账户保护。必须 `sudo mysql -uroot` 才能登入。TCP 登入对 root 账户也是设限的,要生成其他账户才能通过 TCP 登陆。

MariaDB 策略稍稍不同,会初始化的时候会生成一个和安装用户同名的高权限账户,所以可以直接用 mysql 命令(不加用户名)登入。
quqiu
142 天前
@julyclyde 用 docker 就不用管这些权限的问题了,起了容器直接就连了。
julyclyde
142 天前
@billgong 都已经-uroot 了,为啥要 sudo ?
julyclyde
142 天前
@quqiu docker 已经成了你们这些懒于学习的人的遮羞布了
quqiu
142 天前
@julyclyde #13 不是兄弟,配个 mysql 权限有啥懒人不懒人,你这懒人的评判标准着实有点
julyclyde
142 天前
@quqiu 你用 docker 就能保证不需要配置就能进去?
那如果有人把 image 替换掉呢,替换成一个带密码的,
你都没学过啊!你又当如何应对?
ZeekChatCom
142 天前
@julyclyde 虽然我没有试过 `sudo mysql -uroot`,但是你的疑问就说明你没有理解。

sudo 是对 mysql 命令生效,可简单理解为用系统 root 的身份执行 mysql ,而 -uroot 是使用 mysql 的 root 账号登录。不是一回事儿啊。
julyclyde
142 天前
@ZeekChatCom 恰相反,我这么反问就是想说明是你没理解

mysql 的权限系统并不在乎是谁执行客户端,而在乎客户端在 3306 的通信里出示的用户名。
mysql -uroot 并不需要 sudo

你那种 sudo 的作风倒是适合 microsoft sqlserver 的 NTLM 认证方式
你都还没试过,自己瞎猜,还出来教人
ZeekChatCom
142 天前
@julyclyde 我的评论不针对命令本身,只针对 sudo 和 -uroot, 这俩没有任何关系。
ZeekChatCom
142 天前
@julyclyde 你 12 楼的言论,『都已经-uroot 了,为啥要 sudo 』,明显认为二者存在某种关联,事实上这两者没什么关系。
EricXuu
142 天前
你重装一遍,看 brew 的执行日志,有提示的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1130005

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX