मैंने Magento को स्थापित करने की कोशिश की है, लेकिन जब मैं ब्राउज़र से Magento स्थापित करने का प्रयास कर रहा हूँ, तो यह Magento की स्थापना के दौरान " डेटाबेस कनेक्शन त्रुटि " दिखाता है ।
मैंने Magento को स्थापित करने की कोशिश की है, लेकिन जब मैं ब्राउज़र से Magento स्थापित करने का प्रयास कर रहा हूँ, तो यह Magento की स्थापना के दौरान " डेटाबेस कनेक्शन त्रुटि " दिखाता है ।
जवाबों:
सबसे पहले, अपने डेटाबेस उपयोगकर्ता नाम और पासवर्ड की जाँच करें। इस चरण पर आगे बढ़ने से पहले, आपको पहले से ही MySQL में डेटाबेस सेट करना चाहिए। आपको एक उपयोगकर्ता बनाने और उस उपयोगकर्ता को एक्सेस विशेषाधिकार प्रदान करने की आवश्यकता है।
फिर अपने MySQL सर्वर कॉन्फ़िगरेशन की जाँच करें। डिफ़ॉल्ट पोर्ट संख्या 3306 है। हालाँकि, आपका सिस्टम व्यवस्थापक इसे कुछ और में बदल सकता है। या यदि आप MAMP / WAMP जैसे सॉफ़्टवेयर पैकेज का उपयोग कर रहे हैं, तो पोर्ट संख्या 3306 के अलावा किसी अन्य चीज़ पर सेट की जा सकती है। इन मामलों में, आपको पोर्ट नंबर को होस्ट फ़ील्ड में स्पष्ट रूप से रखने की आवश्यकता है।
यदि ये सभी सही हैं और आपके पास अभी भी डेटाबेस कनेक्शन त्रुटि है, तो आप डेटाबेस तक पहुंचने के लिए रूट खाते का उपयोग करने का प्रयास कर सकते हैं। यदि रूट काम करता है, तो इसका मतलब है कि आपकी MySQL सेटिंग्स में विशेषाधिकारों के साथ समस्याएं हैं। यद्यपि भविष्य में उत्पादन परिनियोजन के लिए रूट खाते का उपयोग करने की अनुशंसा नहीं की जाती है क्योंकि यह सर्वर में सुरक्षा जोखिम जोड़ता है।
यह एक बहुत पुराना सवाल है, लेकिन मैं हाल ही में इस पर आया हूं और मुझे उम्मीद है कि यह उत्तर किसी और की मदद करेगा। मेरा मुद्दा एक नए WAMP इंस्टॉलेशन के शीर्ष पर Magento के पुराने संस्करण में आया। MySQL 5.6.1 के बाद से, has_innodb वैरिएबल को हटा दिया गया है। हालाँकि, Magento इंस्टॉलर उस वैरिएबल के लिए जाँच करता है और अगर यह नहीं मिलता है तो एक त्रुटि फेंकता है। यदि आप वास्तव में अपवाद लॉग की जांच करते हैं, तो आपको एक त्रुटि दिखाई देगी कि डेटाबेस सर्वर InnoDB का समर्थन नहीं करता है। फिर भी कैच हैंडलर में यह केवल उस अपवाद को लॉग करता है और एक सामान्य "डेटाबेस कनेक्शन त्रुटि" संदेश फेंकता है।
सबसे आसान तय है, अगर आपको यकीन है कि आपका DB InnoDB का समर्थन करता है, तो बस संपादित app\code\core\Mage\Install\Model\Installer\Db.php
करने के लिए, checkDatabase
विधि ढूंढना है , और उस चेक ब्लॉक के अंत में भाग की टिप्पणी करें जो चेक करता है have_innodb
। आम तौर पर, मैं कोर फ़ाइलों के संपादन की वकालत नहीं करूंगा, लेकिन यह केवल इंस्टॉलर के काम करने के लिए है, इसलिए मैं कहूंगा कि यह पर्याप्त सुरक्षित है।
app/code/core/Mage/Install/Model/Installer/Db.php
checkDatabase($data)
फ़ंक्शन का पता लगाएंइस फ़ंक्शन के अंत में, निम्न कोड है:
Mage::throwException(Mage::helper('install')->__('Database connection error.'));
इसे निम्नलिखित में बदलें:
Mage::throwException(Mage::helper('install')->__($e->getMessage()));
अपने ब्राउज़र पर जाएं, जहां आप Magento इंस्टॉल कर रहे हैं, Continue
बटन पर क्लिक करें
मेरे मामले में, मुझे निम्नलिखित त्रुटि संदेश मिला:
डेटाबेस सर्वर InnoDB भंडारण इंजन का समर्थन नहीं करता है।
इसलिए, इसे हल करने के लिए, मैंने उसी checkDatabase
फ़ंक्शन में InnoDB चेक पर टिप्पणी की ।
// check InnoDB support
/*if (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') {
Mage::throwException(Mage::helper('install')->__('Database server does not support the InnoDB storage engine.'));
}*/
उसके बाद, मैं Magento को स्थापित करने में सक्षम था।
आप इस कोड का उपयोग करके यह जानने के लिए कोशिश कर सकते हैं कि किस तरह का डेटाबेस कनेक्शन त्रुटि है या यह जाँचने के लिए कि उपयोगकर्ता नाम और पासवर्ड सही है या नहीं
<?php
$mysqli=mysqli_connect("host","user","password","database name");
if(mysqli_connect_errno()){
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}else{
echo "Connection succesfull!";
}
?>
इस स्क्रिप्ट को php फ़ाइल के रूप में सहेजें और सर्वर पर रखें। आउटपुट कनेक्शन त्रुटि होगी, या यदि कोई त्रुटि नहीं है तो आउटपुट "कनेक्शन सफल" होगा। "होस्ट" - आप यहां "लोकलहोस्ट", "उपयोगकर्ता" दर्ज कर सकते हैं - यहां आपको डेटाबेस उपयोगकर्ता नाम दर्ज करना होगा, "पासवर्ड" - यहां आपको डेटाबेस पासवर्ड दर्ज करना होगा, "डेटाबेस का नाम" - यहां आपको डेटाबेस नाम दर्ज करना होगा।