无法使用 Sequel Pro 查找或创建新数据库,但可以使用 phpmyadmin
Posted
技术标签:
【中文标题】无法使用 Sequel Pro 查找或创建新数据库,但可以使用 phpmyadmin【英文标题】:Unable to find or create new databases using Sequel Pro, but can using phpmyadmin 【发布时间】:2017-11-11 13:53:54 【问题描述】:我正在使用 MAMP Pro,但我遇到了一个问题,即我无法在 Sequel Pro 上找到现有数据库,也无法创建新数据库。但是,在 phpmyadmin 上,我可以毫无问题地查看和编辑现有数据库并创建新数据库。我相信问题在于 Sequel Pro 上的 mysql 版本。
如您所见,在左侧,phpmyadmin 正在 MySql 服务器版本 5.6.35 上运行,MAMP Pro 也是如此,它位于图像的中心。但是,图片底部的 Sequel Pro 正在 MySql 服务器版本 5.7.18 上运行。
我真的很感激可以提供的任何帮助,我快把头发扯掉了!
谢谢!
【问题讨论】:
请在下面查看我编辑的答案。 【参考方案1】:很明显,问题在于您要连接到两个不同的 MySQL 实例。
除非您有充分的理由在您的计算机上运行两台 MySQL 服务器,否则您应该合并数据库并删除一台。这样您在尝试连接时就不会感到困惑。也许您安装了 MAMP 并且还安装了另一个 MySQL 服务器;或相反亦然。但请注意不要从您正在使用的 MySQL 服务器中删除 datadir,并在执行任何操作之前进行备份。无论如何,这与实际问题无关。
您可以使用STATUS
SQL 命令查看连接信息——看起来 Sequel Pro 是通过套接字连接的,STATUS
会告诉您套接字的路径。也从 phpMyAdmin 运行命令以查看它是如何连接的(它将是套接字或 TCP/IP 网络);您可以配置 Sequel Pro 以使用 phpMyAdmin 使用的相同连接设置进行连接。如果你真的想要,你可以同时运行多个 MySQL 实例并配置你的客户端以连接到正确的实例(phpMyAdmin 至少允许连接到多个服务器,我假设 Sequel pro 也可以)。您将为每个服务器实例使用不同的套接字或不同的网络端口号——以及为每个服务器实例使用不同的数据目录,因为 MySQL 不能很好地处理在不同版本的服务器之间共享数据,尤其是在它们正在运行时同时。
总而言之,告诉 Sequel Pro 使用 phpMyAdmin 使用的相同设置进行连接。
编辑:
您已经确定 MAMP 和 phpMyAdmin 正在通过套接字 /Applications/MAMP/tmp/mysql/mysql.sock
进行连接——这意味着它们正在使用 MAMP 安装的 MySQL(可能您已经独立安装了另一个 MySQL 服务器)。在 Sequel Pro 的“QUICK CONNECT”页面中,单击“Socket”选项卡并输入正确的套接字,如下所示:
我相信“名称”字段可以是您喜欢的任何内容,尽管我并不真正了解这个软件程序。
如果你每个人都使用其他软件,请记住'127.0.0.1'和'localhost'对于MySQL来说是两个非常不同的东西;第一个总是暗示使用 TCP/IP 网络,而后者使用套接字(Sequel Pro 似乎可以正确处理它,因此在此连接屏幕上不相关)。当然,您需要 'localhost',因为您使用的是套接字。
【讨论】:
我无法在评论中添加图片,所以我不得不添加一个新的答案。 Issac,我在上面发布了结果,但评论被删除了。我该如何解决这个问题? 啊,是的;根据本网站的工作方式,任何发布为“答案”类型的响应都必须是回答问题的实际尝试。恕我直言,正确的做法是让那些将其标记为删除的人编辑您的原始帖子并将信息移到那里,以免丢失。下次,您可以编辑您的原始帖子(原始帖子下方应该有一个“编辑”文本链接)。 感谢电子邮件通知的魔力,我能够看到您写的套接字是/Applications/MAMP/tmp/mysql/mysql.sock
- 所以我将使用有关如何连接的更新信息来编辑我的帖子。
@issac 我通过从我的系统中完全删除 mysql 并重新安装来修复它。正如我之前所说,我非常感谢您抽出时间来帮助我,我非常怀疑我自己能否解决这个问题。以上是关于无法使用 Sequel Pro 查找或创建新数据库,但可以使用 phpmyadmin的主要内容,如果未能解决你的问题,请参考以下文章