我最近在运行El Capitan的iMac上安装了MySQL 5.7.16。我最初有一些轻微的打嗝,因为我忘记了root密码,但现在已经重置了,现在我可以使用以下方式以root用户身份登录MySQL:
$ mysql -u root -p
然而,当我尝试使用SequelPro以root身份连接到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文件来自哪里,我不知道如何处理它。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以尝试使用127.0.0.1作为主机,通过Sequel Pro的标准连接进行连接,而不是使用套接字连接。
答案 1 :(得分:0)
这样讲述5.7文档:
安装过程只会创建一个root帐户,root' @' localhost'会自动为此帐户生成一个随机密码,并标记密码已过期。 MySQL管理员必须使用随机密码以root身份连接并分配新密码。 (服务器将随机密码写入错误日志。)
因此,从终端连接并更改root密码。
答案 2 :(得分:0)
您的第一个密码可能没有被保存,或者根本就没有永久保存。
对我来说,sudo /usr/local/bin/mysql_secure_installation
可能永远无法正确保存密码。由于您的第一个密码从未更改,因此没有密码或,就像您的错误提示一样,“过期”为空。
运行或重新运行上面的代码,请不要在密码字段中键入任何内容,并按照预加载的安装程序中的步骤进行操作。