我有一個需要「mysql2」和使用查詢語句像
@db.query("SELECT sname,id FROM streets where region_id=#{region["id"]}")
MySQL的一個Ruby腳本,但它總是報告我的錯誤是這樣的:獨立腳本報告「MySQL服務器已經消失」;問題my.cnf?
main.rb:261:in `query': MySQL server has gone away (Mysql2::Error)
from main.rb:261:in `block (3 levels) in <main>'
from main.rb:258:in `each'
from main.rb:258:in `block (2 levels) in <main>'
from main.rb:254:in `each'
from main.rb:254:in `block in <main>'
from main.rb:253:in `loop'
from main.rb:253:in `<main>'
在我的Ubuntu的腳本是OK但是,我的生產環境是CentOS,在那裏我從源代碼安裝了MySQL。我的Rails應用程序在那裏運行正常,它也需要'mysql2',但是當我運行這個腳本時它失敗了。
我認爲這個問題與my.cnf有關,但我不知道如何配置它。
我找到4 libmysqlclient.so.16 /usr/local/mysql/lib/libmysqlclient.so.16 /usr/local/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16 /root/mysql5.1/lib/libmysqlclient.so.16 這是由rails使用?我可以複製它恢復對方? – ethan 2011-05-21 07:53:06
我這種情況下,它使用你的系統建議它,在Linux上,這是由「ldconfig」配置文件,在OS X上完成,這是由「dyload」管理...但我不記得你怎麼能得到它使用哪一個......但是,它們都是.16(所以它們在理論上應該都是一樣的),並且應該使用與當前安裝的mysql服務器一起安裝的那個...還要查找libmysqlclient頭文件(。H)。當你運行gem install mysql2 --debug時,你應該看到它在編譯時使用哪一個... – 2011-05-21 08:20:38
順便說一句,你有4個,但1是足夠的:)他們應該主要是符號鏈接到你當前的MySQL安裝(但一些他們可能是32位和64位的變種,呃) – 2011-05-21 08:21:37