Saya telah mencoba menginstal magento, tetapi ketika saya mencoba menginstal magento dari browser, ini menunjukkan " Kesalahan koneksi database " selama instalasi Magento.
Saya telah mencoba menginstal magento, tetapi ketika saya mencoba menginstal magento dari browser, ini menunjukkan " Kesalahan koneksi database " selama instalasi Magento.
Jawaban:
Pertama-tama, periksa nama pengguna dan kata sandi basis data Anda. Sebelum Anda melanjutkan ke langkah ini, Anda harus sudah menyiapkan database di MySQL. Anda perlu membuat pengguna dan memberikan hak akses kepada pengguna itu.
Kemudian periksa konfigurasi server MySQL Anda. Nomor port default adalah 3306. Namun, admin sistem Anda mungkin mengubahnya ke yang lain. Atau jika Anda menggunakan paket perangkat lunak seperti MAMP / WAMP, nomor port dapat diatur ke sesuatu selain 3306. Dalam kasus ini, Anda perlu secara eksplisit memasukkan nomor port di bidang Host.
Jika semua ini benar dan Anda masih memiliki kesalahan koneksi database, Anda dapat mencoba menggunakan akun root untuk mengakses database. Jika root berhasil, itu berarti ada masalah dengan hak istimewa dalam pengaturan MySQL Anda. Meskipun tidak disarankan untuk menggunakan akun root untuk penyebaran produksi di masa depan karena menambah risiko keamanan ke server.
Ini adalah pertanyaan yang cukup lama tetapi saya baru-baru ini menjumpainya dan saya berharap jawaban ini membantu orang lain. Masalah saya datang ke versi Magento lama di atas instalasi WAMP baru. Sejak MySQL 5.6.1, variabel have_innodb telah dihapus. Namun, penginstal Magento memeriksa variabel itu dan membuat kesalahan jika tidak menemukannya. Jika Anda benar-benar memeriksa log pengecualian, Anda akan melihat kesalahan bahwa server database tidak mendukung InnoDB. Namun dalam catch handler itu hanya mencatat pengecualian itu dan melempar pesan "Database connection error" yang umum.
Perbaikan paling sederhana, jika Anda yakin DB Anda mendukung InnoDB, cukup dengan mengedit app\code\core\Mage\Install\Model\Installer\Db.php
, menemukan checkDatabase
metode, dan mengomentari bagian di akhir blok coba yang memeriksa have_innodb
. Biasanya, saya tidak akan menyarankan pengeditan file inti, tetapi ini hanya untuk membuat installer bekerja, jadi saya akan mengatakan itu cukup aman.
app/code/core/Mage/Install/Model/Installer/Db.php
checkDatabase($data)
fungsinyaDi akhir fungsi ini, ada kode berikut:
Mage::throwException(Mage::helper('install')->__('Database connection error.'));
Ubah sebagai berikut:
Mage::throwException(Mage::helper('install')->__($e->getMessage()));
Pergi ke browser Anda, di mana Anda menginstal Magento, klik Continue
tombol
Dalam kasus saya, saya mendapat pesan kesalahan berikut:
Server basis data tidak mendukung mesin penyimpanan InnoDB.
Jadi, untuk mengatasi ini, saya berkomentar cek InnoDB dalam checkDatabase
fungsi yang sama .
// 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.'));
}*/
Setelah itu, saya dapat menginstal Magento.
Anda dapat mencoba menggunakan kode ini untuk menemukan rincian lebih lanjut tentang apa jenis kesalahan koneksi database itu atau untuk memeriksa apakah nama pengguna dan kata sandi itu benar
<?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!";
}
?>
Simpan skrip ini sebagai file php dan letakkan di server. Output akan menjadi kesalahan koneksi, atau jika tidak ada kesalahan output akan menjadi "Koneksi berhasil!" "host" - Anda dapat memasukkan di sini "localhost", "user" - di sini Anda harus memasukkan nama pengguna basis data, "kata sandi" - di sini Anda harus memasukkan kata sandi basis data, "nama basis data" - di sini Anda harus memasukkan nama basis data.