2016-11-16 132 views
0

我最近在运行El Capitan的iMac上安装了MySQL 5.7.16。我有几个小打嗝最初是因为我忘记了root密码,但现在已经被重置,我现在可以使用登录到MySQL作为根用户:无法使用SequelPro连接到MySQL

$ mysql -u root -p 

然而,当我尝试连接到MySQL服务器的根使用SequelPro,我得到的消息:

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文件来自哪里,我不知道该怎么办。任何帮助,将不胜感激。

回答

0

您可以尝试使用Sequel Pro的标准连接(使用127.0.0.1作为主机)连接,而不是使用套接字连接。

+0

他需要为[email protected]'127.0.0.1'设置root密码。默认情况下有两个根目录 - localhost和127.0.0.1。编辑:这是假设SequelPro运行在与数据库相同的机器上。如果不是,则需要设置远程用户帐户和密码。 –

+0

是的,SequelPro运行在同一台机器上。我试过用127.0.0.1连接,但仍然没有快乐。 SequelPro能够连接到运行在不同机器上的MySQL,而不会出现任何问题。 – user1718097

+0

你试过关掉它吗? https://www.youtube.com/watch?v=nn2FB1P_Mn8 – BakerStreetSystems

3

我不完全确定发生了什么事情导致root密码过期,但在作品中抛出了扳手。无论如何,对我来说,解决办法是使用登录到MySQL从终端:

$ mysql -u root -p 

...然后使用alter root用户的密码:

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass'; 

这似乎这样的伎俩。然后,我可以使用Sequel Pro登录到MySQL,没有任何问题。

+0

谢谢!将密码更改为新密码也解决了我的问题 - 现在我可以使用SequelPro连接到本地mysql。这绝对不是一个明显的解决方案。 – WallTearer

0

因此说话的5.7文档:

安装过程将创建只有一个根帐户,“根” @“本地主机”,自动为这个帐户生成随机密码,并标志着密码过期。 MySQL管理员必须使用随机密码以root用户身份进行连接并分配新密码。 (服务器将随机密码写入错误日志。)

因此,从终端连接并更改根密码。

+1

OP表示他登录并更改了root密码。 – Robert