【问题标题】:ThinkingSphinx::SphinxError (Unknown MySQL error)ThinkingSphinx::SphinxError(未知的 MySQL 错误)
【发布时间】:2019-03-15 17:18:22
【问题描述】:

我尝试在我的 Ruby on Rails 项目上运行 gem 'thinking-sphinx',但是出了点问题。当我在任何模型上运行任何 search 命令时,我看到此错误:ThinkingSphinx::SphinxError (Unknown MySQL error)。

更多详情:

  • MacOS Mojave -v 10.14.3
  • mysql -v 8.0.15(先安装)
  • Sphinx -v 2.2.11_2(通过“brew install sphinx”安装)
  • thinking-sphinx -v 4.2.0
  • Rails -v 5.2.2

在运行 search 命令之前,我运行了 rails ts:indexrails ts:start
我做错了什么?

【问题讨论】:

    标签: mysql ruby-on-rails macos sphinx thinking-sphinx


    【解决方案1】:

    Sphinx v2.2(和 3.0)与 MySQL v8 不兼容。您要么想将 MySQL 降级到 5.7 - 这可以通过 brew install mysql@5.7 使用自制软件完成 - 然后卸载并重新安装 Sphinx,或者从 Sphinx 网站(源代码)download the binaries for Sphinx v3.1.1(支持 MySQL v8 的第一个版本)因为该版本目前不可用,因此无法通过自制软件安装)。

    【讨论】:

    • 我按照链接gist.github.com/operatino/392614486ce4421063b9dece4dfe6c21中的说明安装了mysql@5.7。在安装之前,我删除了 mysql -v8。但我看到了同样的错误。也许这是因为在控制台中安装狮身人面像时显示Installing sphinx dependency: mysql; Downloading https://homebrew.bintray.com/bottles/mysql-8.0.15.mojave.bottle.tar.gz
    • 现在mysql -V 返回Ver 14.14 Distrib 5.7.25, for osx10.14 (x86_64) using EditLine wrapper
    • 有没有办法告诉 Homebrew 不要安装最新的 (v8) MySQL 作为 Sphinx 的依赖项?否则,您可能希望从 Sphinx 网站(或源代码并自己编译)获取 2.2.11 二进制文件。
    • @Mr.DannyX 你是怎么解决这个问题的?
    • @pat 下载后如何编译?
    【解决方案2】:

    刚刚将 mysql2 从 gem "mysql2", '~> 0.4.6' 更改为 gem "mysql2", '0.4.10' 版本,它对我有用。谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      相关资源
      最近更新 更多