2013-10-01 35 views
1

所以,我有Rails應用程序與MySQL服務器。我安裝了獅身人面像,思考獅身人面像和MySQL2-gem。然後我開始爲Sphinx搜索創建一個搜索表單:

<%= form_for(@posts) do |d| %> 

目前爲止都不錯。直到我遇到了一條錯誤消息(由於創建了特定的表單導致的結果,我已經讓MySQL服務器運行並且我的應用程序正在使用它)。顯然這是在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都很陌生,所以我甚至不知道從哪裏開始。

回答

0

mysql2被obviouslly嘗試設置了一堆會話的可變因素,當它第一次連接到服務器(它obviouslly希望它是一個MySQL服務器,所以纔會明白查詢)

獅身人面像並不是MySQL和犯規理解許多mysql命令。

也許你可以使用 https://github.com/rails/rails/pull/8346 告訴mysql2不要試圖發送所有這些無意義的數字到獅身人面像服務器。

0

有些奇怪的事情正在發生 - 你得到的錯誤是來自Sphinx,但堆棧軌跡來自ActiveRecord,而不是思維獅身人面像。

您能否確認您沒有將開發環境的config/database.yml中的端口設置爲Sphinx的默認端口9306?

相關問題