Я пытался установить magento, но когда я пытаюсь установить magento из браузера, во время установки Magento отображается « Ошибка подключения к базе данных ».
Я пытался установить magento, но когда я пытаюсь установить magento из браузера, во время установки Magento отображается « Ошибка подключения к базе данных ».
Ответы:
Прежде всего, проверьте имя пользователя и пароль вашей базы данных. Прежде чем перейти к этому шагу, вы должны уже настроить базу данных в MySQL. Вам необходимо создать пользователя и предоставить ему права доступа.
Затем проверьте конфигурацию сервера MySQL. Номер порта по умолчанию - 3306. Однако системный администратор может изменить его на другой. Или, если вы используете пакеты программного обеспечения, такие как MAMP / WAMP, для номера порта может быть задано значение, отличное от 3306. В этих случаях вам необходимо явно указать номер порта в поле Host.
Если все это правильно и у вас все еще есть ошибка подключения к базе данных, вы можете попытаться использовать учетную запись root для доступа к базе данных. Если root работает, это означает, что есть проблемы с привилегиями в настройках MySQL. Хотя не рекомендуется использовать корневую учетную запись для будущего производственного развертывания, так как это добавляет угрозы безопасности для сервера.
Это довольно старый вопрос, но я недавно столкнулся с ним, и я надеюсь, что этот ответ поможет кому-то еще. Моя проблема сводилась к старой версии Magento поверх новой установки WAMP. Начиная с MySQL 5.6.1, переменная have_innodb была удалена. Однако установщик Magento проверяет эту переменную и выдает ошибку, если не находит ее. Если вы действительно проверите журнал исключений, вы увидите ошибку, что сервер базы данных не поддерживает InnoDB. Тем не менее, в обработчике перехвата он регистрирует только это исключение и генерирует общее сообщение «Ошибка соединения с базой данных».
Самое простое исправление, если вы уверены, что ваша БД поддерживает InnoDB, - это просто отредактировать app\code\core\Mage\Install\Model\Installer\Db.php
, найти checkDatabase
метод и закомментировать часть в конце блока try, который проверяет 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 и поместите его на сервер. На выходе будет ошибка соединения, или, если ошибки нет, на выходе будет «Соединение установлено!». «host» - здесь вы можете ввести «localhost», «user» - здесь вы должны ввести имя пользователя базы данных, «password» - здесь вы должны ввести пароль базы данных, «имя базы данных» - здесь вы должны ввести имя базы данных.