所以,我有带有 MySQL 服务器的 Rails 应用程序。我安装了 Sphinx、Thinking Sphinx 和 MySQL2-gem。然后我开始为 Sphinx 搜索创建一个搜索表单:
<%= form_for(@posts) do |d| %>
到目前为止一切都很好。直到我收到一条错误消息(由于专门创建了该表单。我已经运行了我的 MySQL 服务器并且我的应用程序正在使用它。)
Can't connect to MySQL server on '127.0.0.1'
当然。这显然是一个端口问题,config/database.yml
所以我将其从以下位置切换:
development:
...
...
host: localhost
至:
development:
...
...
host: 127.0.0.1
好吧,它显然现在找到了服务器,但抛出了一个错误:
Mysql2::Error
sphinxql: syntax error, unexpected ',', expecting $end near ', @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483, @@SESSION.sql_mode = 'STRICT_ALL_TABLES''
我真的不知道这意味着什么。
我检查了完整跟踪的第一行中指示的文件:
activerecord (4.0.0) lib/active_record/connection_adapters/abstract_mysql_adapter.rb:284:in `query'
activerecord (4.0.0) lib/active_record/connection_adapters/abstract_mysql_adapter.rb:284:in `execute'
activerecord (4.0.0) lib/active_record/connection_adapters/mysql2_adapter.rb:220:in `execute'
activerecord (4.0.0) lib/active_record/connection_adapters/abstract_mysql_adapter.rb:778:in `configure_connection'
activerecord (4.0.0) lib/active_record/connection_adapters/mysql2_adapter.rb:265:in `configure_connection'
activerecord (4.0.0) lib/active_record/connection_adapters/mysql2_adapter.rb:38:in `initialize'
activerecord (4.0.0) lib/active_record/connection_adapters/mysql2_adapter.rb:20:in `new'
activerecord (4.0.0) lib/active_record/connection_adapters/mysql2_adapter.rb:20:in `mysql2_connection'
我检查了文件,它们甚至没有提到任何值。这让我很困惑。还要注意,这些文件至少有几个月的历史,并且直到现在都没有出现错误。
欢迎所有想法。我对 MySQL 甚至 Sphinx 都很陌生,所以我什至不知道从哪里开始。