Я намагався встановити magento, але коли я намагаюся встановити magento з браузера, під час встановлення Magento він показує " Помилка підключення до бази даних ".
Я намагався встановити magento, але коли я намагаюся встановити magento з браузера, під час встановлення Magento він показує " Помилка підключення до бази даних ".
Відповіді:
Перш за все, перевірте ім’я та пароль вашої бази даних. Перш ніж перейти до цього кроку, ви повинні вже створити базу даних у MySQL. Потрібно створити користувача та надати йому права доступу.
Потім перевірте конфігурацію сервера MySQL. Типовий номер порту - 3306. Однак ваш системний адміністратор може змінити його на щось інше. Або якщо ви використовуєте програмні пакети, такі як MAMP / WAMP, номер порту може бути встановлений на щось інше, ніж 3306. У цих випадках потрібно чітко ввести номер порту в полі Хост.
Якщо все це правильно, і у вас все ще є помилка підключення до бази даних, ви можете спробувати використовувати кореневий обліковий запис для доступу до бази даних. Якщо root працює, це означає, що у ваших налаштуваннях MySQL є проблеми з привілеями. Хоча не рекомендується використовувати кореневий обліковий запис для подальшого розгортання виробництва, оскільки це додає ризики безпеки для сервера.
Це досить давнє запитання, але я натрапив на нього нещодавно і сподіваюся, що ця відповідь допоможе комусь іншому. Моя проблема дійшла до старої версії Magento поверх нової установки WAMP. З моменту MySQL 5.6.1 змінну have_innodb було видалено. Однак інсталятор Magento перевіряє цю змінну і видає помилку, якщо вона не знаходить її. Якщо ви дійсно перевірите журнал винятків, ви побачите помилку, що сервер бази даних не підтримує InnoDB. Тим не менш, у оброблювачем вилову він записує лише цей виняток і видає загальне повідомлення про помилку підключення до бази даних.
Найпростіший виправлення, якщо ви впевнені, що ваша БД підтримує 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.
Отже, щоб вирішити це, я прокоментував перевірку 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 і покладіть його на сервер. На виході буде помилка підключення, або якщо помилки немає, вихід буде "З'єднання вдале!". "хост" - ви можете ввести тут "localhost", "user" - тут потрібно ввести ім'я користувача бази даних, "пароль" - тут ви повинні ввести пароль бази даних, "ім'я бази даних" - тут ви повинні ввести ім'я бази даних.