Sequel Pro和MySQL连接失败

Sequel Pro和MySQL连接失败,mysql,database-connection,sequelpro,Mysql,Database Connection,Sequelpro,我刚从自制软件在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表示:身份验证插件“缓存\u sha2\u密码”无法使用 加载:dlopen(/usr/

我刚从自制软件在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表示:身份验证插件“缓存\u sha2\u密码”无法使用 加载:dlopen(/usr/local/lib/plugin/caching\u sha2\u password.so,2): 找不到图像


无法找出我缺少了什么,这是因为Sequel Pro尚未准备好进行新的用户登录,错误说明:没有驱动程序

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

  • 转到my.cnf文件并在
    [mysqld]
    部分添加行:

    default authentication plugin=mysql\u native\u password

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

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

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

应该有用

快速修复(破坏性方法) 非自制安装的快速修复程序:

Apple Logo>System Preferences>MySQL>初始化数据库
,然后键入新密码并选择“使用旧密码”

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


my.cnf 在Unix/Linux上,my.cnf文件位于/etc/my.cnf中


选择
对于那些仍在为Sequel Pro的问题而挣扎的人来说:Sequel Pro是一款很棒的产品,但是有很多未解决的问题,最后一个版本的发布日期是2016年,也许寻找一些替代品是个好主意。SequelPro有一个分支,叫做SequelAce,它看起来非常稳定,而且是最新的,它保持了相似的功能,相似的外观和感觉,但同时如果你通过root@127.0.0.1,请确保您也重置了其密码

将用户“root”@“127.0.0.1”用“[password]”标识为mysql_native_密码

  • 假设您没有mysql配置,请将以下内容回显到
    ~/.my.conf
  • 使用
    mysql-u root-p
  • 使用“[password]”更改用户“root”@“localhost”并使用mysql_native_密码设置root用户密码其中
    [PASSWORD]
    是您选择的密码
  • 重新启动mysql,例如使用
    brew服务重新启动mysql

  • TL;DR:Sequel Pro从2016年就去世了。不要因为工具而降级数据库。继续使用另一种工具

    2020年更新:Sequel Pro正式死亡,但非正式活着您可以在这里找到没有此问题的“夜间”版本(即支持Mysql 8 auth):


    这里的所有其他解决方案都建议更改您正在使用的工具的DB设置(如MySQL所宣传的那样,降低安全性)。我不能接受

    我一直都是Sequel Pro的超级粉丝,甚至捐赠给它。但是,带着我所有的热情和爱,如果这个工具没有任何版本,我很抱歉。约洛,我需要继续前进

    我发现的另一种方法(来自@arceldon,多亏了@arceldon)支持MySQL 8的新身份验证(非遗留)方法

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


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

    如果有人面临此问题并通过
    .dmg
    文件安装了
    MySQL version 8
    ;从官方链接下载。在这种情况下,请使用。我在下面添加相同的详细信息,以防将来该链接不可用

    这个问题是因为您正在使用新的
    强密码加密
    ,这是MySQL 8中的一个新功能,如果您使用
    .dmg
    文件安装MySQL 8,您可以转到
    System Preferences>MySQL
    ,然后单击
    初始化数据库
    键入密码,然后选择第二个选项
    使用旧密码加密

    ,不再支持较新的MySQL功能。然而,好消息是,它已被在和上提供的替换。这款应用是免费的,看起来像是Sequel Pro的正式替代品


    另外,我决定将此作为一个答案发布,因为其他人没有提到Sequel Pro现在有一个最新的替代品。

    它对我有效。如果您遇到此错误:

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

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

    MySQL表示:身份验证插件“缓存\u sha2\u密码”无法使用 加载:dlopen(/usr/local/lib/plugin/caching\u sha2\u password.so,2):

    请尝试这个解决方案


    我在系统首选项中找不到MySQL感谢解释,但找不到我的
    
    
    [mysqld]
    default-authentication-plugin=mysql_native_password