当前位置: 首页 > 知识库问答 >
问题:

Sequel Pro和MySQL连接失败

国跃
2023-03-14

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

brew install mysql

mysql -V

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

从终端它工作,我可以登录到mysql,但从Sequel Pro它说

无法连接到主机127.0.0.1,或者请求超时。

确保地址正确,并且您拥有必要的权限,或者尝试增加连接超时(当前为10秒)。

MySQL表示:无法加载身份验证插件“caching_sha2_password”:dlopen(/usr/local/lib/plugin/caching_sha2_password.so,2):未找到图像

想不出我错过了什么

共有3个答案

向俊贤
2023-03-14
  1. 假设您没有mysql配置,请将以下内容回显到~/。我的形态
[mysqld]
default-authentication-plugin=mysql_native_password
轩辕欣可
2023-03-14

TL;博士:续集专业版自2016年以来就死了。不要因为一个工具而降级你的数据库。转到替代工具。

更新2020:Sequel Pro正式死亡,但非正式地活着!您可以在这里找到不存在此问题的“夜间”版本(即支持Mysql 8 auth):https://sequelpro.com/test-builds

2021年更新:续集王牌是一个很好的类似的活着的选择:https://github.com/Sequel-Ace/Sequel-Ace#installation(归功于马西伊·瓦斯的回答)

这里的所有其他解决方案都建议更改您正在使用的工具的数据库设置(如MySQL所宣传的那样,使其不太安全)。这对我来说是不可接受的。

我一直都是Sequel Pro的超级粉丝,甚至捐赠给它。但是,带着我所有的热情和爱,如果该工具自2016年以来没有发布,我很抱歉。约洛,我需要继续前进!

我发现的替代方案(来自https://stackoverflow.com/a/55235533/2321594,感谢@arcseldon)是DBeaver,它支持MySQL 8的新身份验证(非传统)方法。

注:在工具端,而不是数据库端,唯一的技巧是当您创建MySQL 8连接时,您可能需要转到“驱动程序属性”(稍后可以在编辑连接中找到),并将allowPubliceRetrieval的值改为true

我需要这个连接到使用Docker创建的MySQL容器。为了让MySQL的IP对外可见,对于您生态系统中的任何其他应用程序(不仅仅是这个工具),您应该在MySQL中创建一个新用户,或者在运行时或作为ENV传递-eMYSQL_ROOT_HOST=%...

齐永昌
2023-03-14

这是因为Sequel Pro还没有为新的用户登录做好准备,因为错误表明:没有驱动程序。

基本上,您将不得不手动执行一些操作,但是-您的数据库数据不会像下面的解决方案中那样被删除

>

  • 转到my.cnf文件,在部分中添加行:

    默认认证插件mysql_native_password

    从终端登录mysql服务器:运行mysql-u root-p,然后在shell内部执行此命令(将[password]替换为您的实际密码):

    ALTER USER'root'@'localhost'由“[password]”用mysql_native_密码标识

    使用exit退出mysql shell,然后运行brew服务重新启动mysql

    应该有用。

    非自制安装的快速修复:

    苹果标志

    重新启动后,您应该能够连接。仅在新安装时执行此操作,否则可能会丢失数据库表。

    这是我的。cnf文件位于/etc/my中。Unix/Linux上的cnf

  •  类似资料:
    • 我如何在Mac本地托管的docker容器中连接到MySQL?我试图通过SequelPro连接,但甚至不能让测试连接工作。

    • 问题内容: 我有一个foreach循环在其中分叉。在进程派生之后,它将访问数据库。我收到一个错误: 问题是,分叉 后 ,我将连接到数据库。 我的问题:为什么会这样? 如果发生这种情况,我实际上是 在 派生 之前 访问数据库吗?子级会继承DB连接吗? (注意:我可以发布代码,但是它很大,因为它全部放在类中,这可能是导致我在访问数据库时感到困惑的原因。另一件事,您应该知道的是我正在使用ZF。) 问题答

    • 我有以下php代码: 警告:mysqli_connect():(28000/1045):第2行/home/u536268762/public_html/index.html中的用户“u536268762_alex”srv19.main hosting.com(使用密码:YES)被拒绝访问MySQL:u536268762_alex@“srv19.main hosting.com”(使用密码:YES)

    • 我正在尝试使用docker-compose运行2个docker容器,并将mysql容器连接到app容器。mysql容器正在运行,但app容器无法启动,出现错误:错误:2003:无法连接到'127.0.0.1:3306'上的mysql服务器(111连接被拒绝)似乎我的app容器正在尝试连接我的主机mysql而不是mysql容器。 Docker-compose.yml DockerFile 这是我的d

    • 尝试创建一个简单的Jmeter 5.0测试,以使用JDBC连接配置连接到数据库。它无法连接到我本地的mySql数据库。[jdbc:mysql://localhost:3306]。我可以使用mySql工作台连接到我本地的mySql数据库,所以我知道我可以连接到它。 它似乎在方法上失败。 你有什么想法为什么会发生这种情况吗? 我在apache-jmeter-5.0\bin中尝试了不同的mysql-co

    • 问题内容: 我的Spring Boot应用程序总是在早上向我显示此whitelabel错误:无法打开JPA EntityManager进行事务;嵌套异常是javax.persistence.PersistenceException:org.hibernate.TransactionException:JDBC开始事务失败: 我在网上搜索,我认为可能是mysql关闭了8个小时的非活动连接。但是,根据