sequel pro和mysql连接失败

xv8emn3q  于 2021-06-20  发布在  Mysql
关注(0)|答案(7)|浏览(972)

我刚从自制软件在mac上安装了mysql

brew install mysql

mysql -V

mysql  Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)

从终端它的作品,我可以登录到mysql,但从续集专业它说

无法连接到主机127.0.0.1,或请求超时。
确保地址正确并且您具有必要的权限,或者尝试增加连接超时(当前为10秒)。
mysql说:无法加载身份验证插件“caching\u sha2\u password”:dlopen(/usr/local/lib/plugin/caching\u sha2\u password.so,2):找不到图像
不知道我错过了什么

7d7tgy0s

7d7tgy0s1#

如果有人面对这个问题 MySQL version >8 通过 .dmg 从官方链接下载。在这种情况下,请使用本指南。

vktxenjb

vktxenjb2#

假设您没有mysql配置,请将以下内容回送到 ~/.my.conf ```
[mysqld]
default-authentication-plugin=mysql_native_password

使用登录mysql `mysql -u root -p` 将root用户密码设置为 `ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';` 哪里 `[PASSWORD]` 是您选择的密码。
重启mysql,例如。 `brew services restart mysql` 
drnojrws

drnojrws3#

这是因为sequel pro还没有为一种新的用户登录做好准备,正如错误所说:没有驱动程序。非自制安装的快速修复: Apple Logo > System Preferences > MySQL > Initialize Database ,然后键入新密码并选择“使用旧密码”
重新启动后,您应该能够连接。只在新安装时执行,否则可能会丢失db表。

mysql+自制

基本上你将不得不手动执行一些操作,但是-你的数据库数据不会像上面的解决方案那样被删除
转到my.cnf文件并在节中 [mysqld] 添加行: default-authentication-plugin=mysql_native_password 从终端登录mysql服务器:run mysql -u root -p ,然后在shell内部执行此命令(用实际密码替换[password]: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]'; 退出mysql shell exit 然后跑 brew services restart mysql .
应该有用。

我的.cnf

在unix/linux上,my.cnf文件位于/etc/my.cnf中

替代品

对于那些仍在与sequel pro问题作斗争的人来说:sequel pro是一款很棒的产品,但由于大量未解决的问题以及最后一个版本的发布日期是2016年,所以寻找一些替代品也许是个好主意。sequelpro有一个分支叫做sequelace,它看起来非常稳定和最新,它保持了相似的功能,相似的外观和感觉,但同时它没有旧的sequelpro问题

4zcjmb1e

4zcjmb1e4#

sequel pro正式停产,不再支持更新的mysql功能。不过,好消息是,它被github和appstore上提供的sequel ace所取代。这个应用是免费的,看起来像是sequel pro的官方替代品,因为这个帖子是由sequel pro的一个合作者发布的。
另外,我决定把这个作为一个答案,因为其他人没有提到,现在有一个最新的替代续集专业

x8goxv8g

x8goxv8g5#

对我有用。如果出现此错误:
无法连接到主机127.0.0.1,或请求超时。
确保地址正确并且您具有必要的权限,或者尝试增加连接超时(当前为10秒)。
mysql说:无法加载身份验证插件“caching\u sha2\u password”:dlopen(/usr/local/lib/plugin/caching\u sha2\u password.so,2):
请尝试这个解决方案

vptzau2j

vptzau2j6#

如果您通过root@127.0.0.1,请确保您也重置了它的密码!
将用户'root'@'127.0.0.1'用mysql\u native\u password标识为'[password]';

ih99xse1

ih99xse17#

热释光;dr:sequel pro从2016年就死了。不要因为工具而降级数据库。转到另一个工具。
更新2020:续集专业是正式死亡,但非正式地活着!您可以在这里找到不存在此问题的“夜间”版本(即支持mysql 8 auth):https://sequelpro.com/test-builds
这里的所有其他解决方案都建议更改您正在使用的工具的db设置(如mysql所宣传的那样,降低其安全性)。我不能接受。
我一直是sequel pro的超级粉丝,甚至捐给了它。但是,带着我所有的热情和爱,如果这个工具自2016年以来没有发布,我很抱歉。约洛,我要继续前进!
我找到的替代品https://stackoverflow.com/a/55235533/2321594,感谢@arcseldon)是dbeaver,它支持mysql 8的新身份验证(非遗留)方法。
另外,在工具端,而不是数据库端,唯一的技巧是当你创建一个mysql 8连接时,你可能需要转到“驱动程序属性”(稍后可以在edit connection中找到)并将 allowPublicKeyRetrievaltrue .
我需要这个来连接到我用docker创建的mysql容器。为了让mysql的ip对外可见,对于生态系统中的任何其他应用程序(不仅仅是这个工具),您应该在mysql中创建一个新用户,或者传递 -e MYSQL_ROOT_HOST=% 在运行时或作为env。

相关问题