ฉันพยายามติดตั้งคุณภาพเยี่ยม แต่เมื่อฉันพยายามติดตั้งคุณภาพเยี่ยมจากเบราว์เซอร์จะแสดง " ข้อผิดพลาดการเชื่อมต่อฐานข้อมูล " ระหว่างการติดตั้ง Magento
ฉันพยายามติดตั้งคุณภาพเยี่ยม แต่เมื่อฉันพยายามติดตั้งคุณภาพเยี่ยมจากเบราว์เซอร์จะแสดง " ข้อผิดพลาดการเชื่อมต่อฐานข้อมูล " ระหว่างการติดตั้ง Magento
คำตอบ:
ก่อนอื่นตรวจสอบชื่อผู้ใช้ฐานข้อมูลและรหัสผ่านของคุณ ก่อนที่คุณจะดำเนินการตามขั้นตอนนี้คุณควรตั้งค่าฐานข้อมูลใน MySQL เรียบร้อยแล้ว คุณต้องสร้างผู้ใช้และให้สิทธิ์การเข้าถึงแก่ผู้ใช้นั้น
จากนั้นตรวจสอบการกำหนดค่าเซิร์ฟเวอร์ MySQL ของคุณ หมายเลขพอร์ตเริ่มต้นคือ 3306 อย่างไรก็ตามผู้ดูแลระบบของคุณอาจเปลี่ยนเป็นอย่างอื่น หรือหากคุณกำลังใช้ซอฟต์แวร์แพ็กเกจเช่น MAMP / WAMP หมายเลขพอร์ตอาจถูกตั้งค่าเป็นอย่างอื่นที่ไม่ใช่ 3306 ในกรณีนี้คุณต้องใส่หมายเลขพอร์ตอย่างชัดเจนในฟิลด์โฮสต์
หากสิ่งเหล่านี้ถูกต้องและคุณยังคงมีข้อผิดพลาดในการเชื่อมต่อฐานข้อมูลคุณสามารถลองใช้บัญชีรูทเพื่อเข้าถึงฐานข้อมูล หากรูททำงานได้แสดงว่ามีปัญหากับสิทธิ์ในการตั้งค่า MySQL ของคุณ แม้ว่าจะไม่แนะนำให้ใช้บัญชีรูทสำหรับการปรับใช้การผลิตในอนาคตเนื่องจากเป็นการเพิ่มความเสี่ยงด้านความปลอดภัยให้กับเซิร์ฟเวอร์
นี่เป็นคำถามที่ค่อนข้างเก่า แต่เมื่อไม่นานมานี้ฉันหวังว่าคำตอบนี้จะช่วยคนอื่นได้ ปัญหาของฉันลงมาเป็น Magento รุ่นเก่าที่อยู่ด้านบนของการติดตั้ง WAMP ใหม่ ตั้งแต่ MySQL 5.6.1 ตัวแปร has_innodb ได้ถูกลบออก อย่างไรก็ตามตัวติดตั้ง Magento จะตรวจสอบตัวแปรนั้นและส่งข้อผิดพลาดหากไม่พบ หากคุณตรวจสอบบันทึกข้อยกเว้นคุณจะเห็นข้อผิดพลาดที่เซิร์ฟเวอร์ฐานข้อมูลไม่รองรับ InnoDB แต่ในตัวจัดการ catch มันบันทึกเฉพาะข้อยกเว้นนั้นและส่งข้อความ "ข้อผิดพลาดการเชื่อมต่อฐานข้อมูล" ทั่วไป
การแก้ไขที่ง่ายที่สุดถ้าคุณแน่ใจว่าฐานข้อมูลของคุณสนับสนุน InnoDB, ก็คือการแก้ไขapp\code\core\Mage\Install\Model\Installer\Db.php
หาวิธีการและแสดงความคิดเห็นออกมาเป็นส่วนหนึ่งในตอนท้ายของบล็อกลองที่ตรวจสอบcheckDatabase
have_innodb
โดยปกติฉันจะไม่สนับสนุนการแก้ไขไฟล์หลัก แต่นี่เป็นเพียงการทำให้ตัวติดตั้งทำงานได้ดังนั้นฉันจึงบอกว่ามันปลอดภัยพอ
สร้าง db ก่อน http://localhost/phpmyadmin
สมมติว่าชื่อ DB: testdb
หน้าการกำหนดค่าชื่อ db: testdb ชื่อผู้ใช้: รหัสผ่าน root: ว่างเปล่า (ไม่ต้องป้อนค่าใด ๆ )
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
ดังนั้นเพื่อแก้ปัญหานี้ฉันให้ความเห็นเช็คอินของ InnoDB ในcheckDatabase
ฟังก์ชั่นเดียวกัน
// 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 และวางไว้บนเซิร์ฟเวอร์ เอาต์พุตจะเป็นข้อผิดพลาดในการเชื่อมต่อหรือหากไม่มีข้อผิดพลาดเอาต์พุตจะเป็น "Connection สำเร็จ!" "host" - คุณสามารถป้อนที่นี่ "localhost", "user" - ที่นี่คุณต้องป้อนชื่อผู้ใช้ฐานข้อมูล "รหัสผ่าน" - ที่นี่คุณต้องป้อนรหัสผ่านฐานข้อมูล "ชื่อฐานข้อมูล" - ที่นี่คุณต้องป้อนชื่อฐานข้อมูล
magento
magento
ก่อน