दिलचस्प पोस्ट
पैरामीटर के रूप में कॉलम-नाम और / या तालिका-नाम एक फ़ाइल को एक रिपॉजिटरी से प्राप्त करें डेल्फी के लिए कौन से वेब अनुप्रयोग फ़्रेमवर्क की अनुशंसा की जाती है? ActionContext में मौजूद पैरामीटर, अनुरोध और सत्र ऑब्जेक्ट का उपयोग कैसे करें? कैसे Canvas.toDataURL के साथ एक छवि के रूप में कैनवास को बचाने के लिए? Windows सेवा से कंसोल एप्लिकेशन को चलाने के लिए कैसे? पूर्ण बनाम सापेक्ष स्थिति चौड़ाई और ऊंचाई स्रोत कोड में पासवर्ड की सुरक्षा? एसक्यूएल मूल्यांकन का अद्यतन आदेश पूरा करने के लिए बाल विंडो लोडिंग की प्रतीक्षा कर रहा है PHP में लघु अद्वितीय आईडी एक श्रोता को कई घटनाओं बाध्यकारी (JQuery के बिना)? जावास्क्रिप्ट बिना jQuery के स्लाइडेउन A.ref प्राप्त करना फ़ंक्शन त्रुटि नहीं है, जब कोनेयरफ़ायर 1.2 में अपग्रेड किया गया केवल FileField, सर्वर-साइड में एक निश्चित फाइल प्रकार को स्वीकार करें

mysql2 मणि ​​गलत mysql ग्राहक पुस्तकालय के लिए संकलित

मेरे रेल अनुप्रयोग के माध्यम से mysql सर्वर से कनेक्ट करने का प्रयास करते समय, मुझे निम्न त्रुटि मिलती है

D:/Program_Files/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': Incorrect MySQL client library version! This gem was compiled for 6.0.0 but the client library is 5.0.27. (RuntimeError) 

मैं इसे कैसे सुधार सकता हूं?

Solutions Collecting From Web of "mysql2 मणि ​​गलत mysql ग्राहक पुस्तकालय के लिए संकलित"

मुझे आपके जैसी समस्या थी, या कम से कम यह लक्षण एक ही था।

पृष्ठभूमि: मैं रेल 3 का इस्तेमाल कर रहा था, mysql2 मणि, और MySQL समुदाय सर्वर संस्करण 5.5.21 (32-बिट) स्थानीय रूप से अपने विंडोज मशीन पर स्थापित। मैंने ग्राहक पुस्तकालय ( libmysql.dll ) को MySQL स्थापना से पकड़ा और इसे मेरी रूबी स्थापना के bin फ़ोल्डर में कॉपी किया।

जब मैं bundle exec rake db:create चला गया bundle exec rake db:create , मुझे एक ही त्रुटि संदेश मिला जैसा आपने और मैंने सोचा "अरे, क्लाइंट लाइब्रेरी कैसे पुरानी हो सकती है जब मुझे नवीनतम माइस्काबिल रिलीज़ से मिला?"

एक उपयोगी संदेश है जो दिखाया जाता है कि जब आप gem install mysql2 दुर्भाग्य से, यदि आप बंडलर के साथ मणि स्थापित करते हैं, तो बंडलर संदेश खाती है यह रहा:

 ========================================================================= You've installed the binary version of mysql2. It was built using MySQL Connector/C version 6.0.2. It's recommended to use the exact same version to avoid potential issues. At the time of building this gem, the necessary DLL files where available in the following download: http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick And put lib\libmysql.dll file in your Ruby bin directory, for example C:\Ruby\bin 

इन निर्देशों के बाद मेरे लिए समस्या हल हो गई

संदर्भित लिंक

मणि को अनइंस्टॉल और पुनर्स्थापना अक्सर इस समस्या को हल करके फाइलों को डाउनलोड करने और स्थानांतरित करने की कोई आवश्यकता नहीं होती है अपने रेल एप्लिकेशन निर्देशिका से:

 > gem uninstall mysql2 You have requested to uninstall the gem: mysql2-0.3.11 database_cleaner-0.9.1 depends on [mysql2 (>= 0)] If you remove this gems, one or more dependencies will not be met. Continue with Uninstall? [Yn] Y Successfully uninstalled mysql2-0.3.11 > bundle install Fetching gem metadata from http://rubygems.org/...... Fetching gem metadata from http://rubygems.org/.. Using rake (0.9.2) Using i18n (0.6.1) ... <SNIP> ... Installing mysql2 (0.3.11) with native extensions ... <SNIP> ... Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. 

यदि आप MySQL के 64 बिट संस्करण और रूबी के 32 बिट संस्करण का उपयोग कर रहे हैं, तो http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using पर इस समाधान की जांच करें -ruby-साथ यह /

आपको मूल रूप से mysql वेबसाइट से एक एकल संबंधक डाउनलोड करना होगा, और आपके द्वारा डाउनलोड किए गए कनेक्टर के साथ mysql या mysql2 को संकलित करना होगा।

रूबी 1.9.2 के लिए:

 gem install mysql --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32 

रूबी 1.9.3 के लिए: (mysql2 संस्करण दिखा रहा है)

 gem pristine mysql2 -- --with-mysql-config=C:\mysql-connector-c-noinstall-6.0.2-win32 

उस निर्देशिका के लिए फॉरवर्ड स्लैश के उपयोग पर ध्यान दें जहां MySQL कनेक्टर / सी निकाला गया था।

मुझे इस समस्या के लिए एक पूरी तरह से अलग कारण की खोज की। मैं mysql मणि का उपयोग कर रहा था मैं mysql2 मणि ​​बनाया है, लेकिन मैं अपने database.yml अद्यतन भूल गया Mysql2 मणि ​​के साथ, यह कहने की जरूरत है:

  development: adapter: mysql2 

बजाय

  development: adapter: mysql 

मणि का निर्माण किया, लेकिन जब मैं अगले राक चला गया तो मुझे त्रुटि मिली।

स्पष्ट रूप से एक बार आप इसे देख चुके हैं, लेकिन जैसा कि यहां चर्चा की गई आपको एक ही त्रुटि संदेश मिलता है!

वैसे, मेरे मशीन पर mysql2 मणि ​​बनाने की कमान ऊपर वर्णित की तुलना में थोड़ा अधिक जटिल थी:

 gem install mysql2 -- --with-mysql-lib="c:\mysql-connector-c-noinstall-6.0.2-win32\lib" --with-mysql-include="c:\mysql-connector-c-noinstall-6.0.2-win32\include" --with-mysql-dir="c:\mysql-connector-c-noinstall-6.0.2-win32" 

मुझे इस तरह एक मुद्दा था:

 Incorrect MySQL client library version! This gem was compiled for 5.5.29 but the client library is 5.6.17. 

मेरे लिए यह मुद्दा यह था कि मेरे मशीन पर स्थापित मेरे दोनों संस्करण 5.5.2 9 और 5.6.17 थे। मुझे नहीं पता है कि कैसे। जब मैंने इसे बंडल किया तो स्वचालित रूप से 5.5.29 संस्करण चुना। मैंने एक की स्थापना रद्द की और फिर मेरे रत्न को पुनः स्थापित किया और यह समस्या तय की।

मौजूदा उत्तर में जोड़ने के लिए (विशेष रूप से विंडोज प्लेटफॉर्म)

रूबी वास्तव में इस के ऊपर बेकार है। रेल वास्तव में संबंधक या mysql संस्करण के संस्करण के बारे में परवाह नहीं करना चाहिए – लेकिन यह मेरी राय है

यह काम करने के लिए ** काम करने के लिए, आपको 2 चीजों की जरूरत है mysql2 gem और libmysql.dll और आप संस्करण के मामले में उन्हें मैच की जरूरत है। ( यह मेरे लिए भ्रम पैदा करता है, क्योंकि मैं नवीनतम कनेक्टर 6.x देख सकता हूँ, जबकि mysql केवल 5.x है, मुझे उनका मिलान कैसे करना चाहिए )

mysql2 मणि और जब आप इसे इंस्टॉल करते हैं तो आपको कनेक्टर को निर्दिष्ट करना होगा।

  gem install mysql2 --platform=ruby -- --with-mysql-lib="d:\mysql\lib" --with-mysql-include="d:\mysql\include" 

इसे ऑरेकल से डाउनलोड करने के लिए कनेक्टर होने की आवश्यकता नहीं है आपको केवल एक mysql स्थापना की आवश्यकता है और lib इसके नीचे फ़ोल्डर include है। तब railsinstaller bin तहत libmysql.dll डाल दिया।

अगर आपने मुझे mysql2 मणि ​​को सफलतापूर्वक स्थापित करने के लिए काम नहीं किया है तो => मेरे मामले के लिए यह इसलिए है क्योंकि मेरा MySQL बहुत पुराना है (क्यों कि वह रूबी की देखभाल करेगा)। इसलिए मुझे ओरेकल से कुछ नवीनतम एसईओ प्राप्त होता है I libmysql.dll को इसके अंतर्गत उपयोग करें। आपको वास्तव में अपने डेटाबेस को अपग्रेड करने की ज़रूरत नहीं है, आप इसे कहीं और रख सकते हैं और 2 आवश्यक घटक जनरेट करने के बाद इसका उपयोग करना जारी रख सकते हैं

मेरा मामला: मैं एक बहुत प्राचीन mysql डेटाबेस का उपयोग करता हूं और मैं इस समय इसे अपग्रेड करने के लिए तैयार नहीं हूं। इसलिए मैं उस डेटाबेस को वापस और बाद में इसे बहाल कर दिया

विंडोज़ में मेरे मामले में, MySQL सर्वर 5.5 निर्देशिका से ruby200 / bin के लिए गलत तरीके से कॉपी किया गया libmysql.dll। mysql-connector-c-noinstall-6.0.2-win32 से libmysql.dll कॉपी करने के लिए सही है।

मुझे एक ही समस्या थी, और मैंने इस प्रकार हल किया है:

1 :: ज़िप को निम्न लिंक डाउनलोड करें: https://dev.mysql.com/downloads/connector/c/

2 :: परियोजना के " प्रदाता " फ़ोल्डर में फ़ाइल ( libmysql.dll ) को डीकंप्रेस करें

3 :: कमांड bundle install लिए एक के लिए Volve

और तैयार, हल!

https://dev.mysql.com/downloads/connector/c/