2011-09-07 12 views
5

मैं नवीनतम 'mysql2' मणि और रेल 3.1 मैं आईआरबी से mysql ठीक चला सकते हैं जब मैं मणि शामिल साथ एक अजीब समस्या आ रही है, लेकिन साथ रेल जब भी मैं कंसोल में डेटाबेस में सहेजने का प्रयास करता हूं, या सर्वर शुरू होने पर पेज को लोड करता हूं, तो मुझे [FATAL] मेमोरी आवंटित करने में विफलता मिलती है।-Fatal- स्मृति को आबंटित करने में विफल रहा है - रेल 3.1 और Mysql2 रत्न

कोई mysql लॉग उपलब्ध होने लगते हैं नहीं है, और है कि केवल त्रुटि रेल शो है। दिलचस्प बात यह है कि जब मैं रेल कंसोल में कनेक्शन शुरू करता हूं और केवल एक गिनती क्वेरी चलाता हूं उदा। User.count, यह ठीक काम करता है, लेकिन जब मैं कंसोल से बाहर निकलने का प्रयास करता हूं तो अनिश्चित काल तक लटकता है। सभी पुरुष मैं के साथ एक ही codebase और डेटाबेस संरचना का उपयोग और कोई मुद्दा नहीं हो जाता है युग्मन हो रही है ... किसी और

किसी को भी इस मुद्दे को इस तरह का था? मैंने कल होमब्री और MySQL को अनइंस्टॉल करने और पुनर्स्थापित करने का प्रयास किया और यह अभी भी होता है।

+0

कौन सा रूबी संस्करण (पैचलेवल के साथ) आप उपयोग करते हैं? – Anatoly

+0

मैं रेल 3.0.7 और mysql2 के साथ एक ही समस्या हो रही है: http://stackoverflow.com/questions/7490968/cant-get-mysql2-gem-to-work-with-mamp2-and-rvm-on- शेर-रेल 3-एप – Mirko

+0

क्या आप शेर का भी उपयोग कर रहे हैं? – Mirko

उत्तर

0

मुझे लगता है कि यह आपकी मशीन और/या बल्कि माणिक से MySQL कॉन्फ़िगरेशन से कोई लेना देना हो सकता है। जांचें कि आप कितनी मेमोरी को MySQL को आरक्षित करने की अनुमति दे रहे हैं। ये पैरामीटर डेटाबेस के लिए प्रारंभिकरण या स्टार्ट-अप फ़ाइलों में होना चाहिए। दुर्भाग्य से, मुझे नहीं पता कि MySQL के साथ इन फ़ाइलों को कहां देखना है।

मैं एक बार Postgres के साथ एक समान त्रुटि थी क्योंकि मैं एक कॉन्फ़िग फ़ाइल में लिखने में कोई त्रुटि। पोस्टग्रेज़ में जिस फ़ाइल को आप ढूंढ रहे हैं वह इस तरह दिखता है। यह MySQL के लिए भी अलग नहीं होना चाहिए:

#------------------------------------------------------------------------------ 
# RESOURCE USAGE (except WAL) 
#------------------------------------------------------------------------------ 

# - Memory - 

!!!THIS is the field you want to change!!! 
shared_buffers = 28MB     # min 128kB, default 28 
             # (change requires restart) 

#temp_buffers = 8MB      # min 800kB 
#max_prepared_transactions = 0   # zero disables the feature 
             # (change requires restart) 


# Note: Increasing max_prepared_transactions costs ~600 bytes of shared memory 
# per transaction slot, plus lock space (see max_locks_per_transaction). 
# It is not advisable to set max_prepared_transactions nonzero unless you 
# actively intend to use prepared transactions. 
#work_mem = 1MB       # min 64kB 
#maintenance_work_mem = 16MB   # min 1MB 
#max_stack_depth = 2MB     # min 100kB 
0

मैं पर ओएस एक्स शेर एक ही मुद्दा था और मेरा मानना ​​है कि समस्या किसी भी तरह अपने सिस्टम पर mysql स्थापना और mysql2 एडाप्टर से संबंधित था। जो मेरे मशीन पर mysql 5.5.15 स्थापित -

मैं mysql स्थापित करने के लिए these निर्देशों का पालन किया।

mysql2/client.rb:44:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error) 

मैं अपने config/database.yml बदलते localhost (मेजबान के माध्यम से कनेक्ट करने के लिए इस समस्या के समाधान प्राप्त करने में सक्षम था:

रूबी 1.9.2 और रेल 3.1.3 का उपयोग करना, मैं तो निम्न त्रुटि मिला 127.0 .0.1)।

1

साथ कोशिश कर सकते हैं मैं भी इस

[FATAL] failed to allocate memory

त्रुटि मिली और ठीक की स्थापना रद्द करने mysql-कनेक्टर-सी थी जो मेरे ब्रू सूत्रों में था।

brew uninstall mysql-connector-c 
0

मुझे एक ही समस्या थी। सबसे अधिक संभावना है, एक बुरा अभ्यास लेकिन मेरे पास मेरे हैमल दृश्य में थोड़ी देर लूप थी और मैं काउंटर को शुरू करने और काउंटर के अंदर काउंटर को बढ़ाने के लिए भूल गया था।

- while (i < 10) do 
    = i 

काउंटर को आरंभ करने और इसे हल करने में समस्या को हल करना।

- i = 0 
- while (i < 10) do 
    = i 
    - i += 1 
संबंधित मुद्दे