我最近在一台运行El Capitan的iMac上安装了MySQL 5.7.16。我最初遇到了一些小问题,因为我忘记了超级用户密码,但现在密码已经重置,我现在可以以超级用户身份登录MySQL,使用:
$ mysql -u root -p但是,当我尝试以根用户身份使用SequelPro连接到MySQL服务器时,收到以下消息:
Unable to connect via the socket, or the request timed out.
Double-check that the socket path is correct and that you have the necessary privileges, and that the server is running.
MySQL said: Your password has expired. To log in you must change it using a client that supports expired passwords.当我查看/tmp文件夹时,我希望找到的是mysql.sock,但实际上却是一个名为mysql.sock.lock的文件。这可能是导致问题的原因吗?我找不到那个.lock文件是从哪里来的,我也不知道该怎么办。任何帮助都将不胜感激。
发布于 2016-12-05 02:41:23
我不能完全确定发生了什么导致root密码过期,但有什么东西在工作中抛出了扳手。无论如何,我的解决方案是从终端登录到MySQL,使用:
$ mysql -u root -p...and然后使用以下命令更改根用户的密码:
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass';这似乎起到了作用。然后我就可以用Sequel Pro登录MySQL了,没有任何问题。
发布于 2016-11-17 02:02:48
你可以尝试使用Sequel Pro的标准连接,而不是使用socket连接,使用127.0.0.1作为主机。
发布于 2017-04-06 04:49:13
5.7文档是这样说的:
安装过程只创建一个root帐户'root'@'localhost',自动为该帐户生成一个随机密码,并将密码标记为过期。MySQL管理员必须使用随机密码以超级用户身份连接并分配新密码。(服务器将随机密码写入错误日志。)
因此,从终端连接并更改root密码。
https://stackoverflow.com/questions/40638977
复制相似问题