PHP Предупреждение: mysqli_connect(): (HY000/2002): соединение отклонено
Я использую PHP 5.5 и MAMP (скачано с здесь):
У меня есть базовый сценарий, подобный этому:
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "root";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
и когда я запускаю этот скрипт, я получаю эту ошибку:
PHP Warning: mysqli_connect(): (HY000/2002): Connection refused in /Applications/MAMP/htdocs/test/test.php on line 7
Есть ли какие-то проблемы с конфигурацией, которые мне нужно настроить в MAMP или PHP?
Ответы
Ответ 1
В случае, если кто-то другой приходит по этой проблеме, порт по умолчанию для MAMP для mysql - 8889
, но порт, который php ожидает использовать для mysql, 3306
. Поэтому вам нужно открыть MAMP, перейти к настройкам и изменить порт mysql MAMP на 3306
, а затем перезапустить сервер mysql. Теперь соединение должно быть успешным с хостом = localhost, user = root, pass = root.
Ответ 2
Иногда вам нужно указать идентификатор порта mysql db на сервере.
$serverName = "127.0.0.1:3307";
Ответ 3
Вы должны изменить порт базы данных Mysql базы данных на 8889.
Ответ 4
Чтобы я снова заработал, я просто удалил файлы
ib_logfile0
и
ib_logfile1
.
from:
/Applications/MAMP/db/mysql56/ib_logfile0
Mac 10.13.3
MAMP: Версия 4.3 (853)
Ответ 5
В моем случае я использовал XAMPP, и был журнал, который сообщал мне об ошибке. Чтобы найти его, перейдите на панель управления XAMPP и нажмите "Настроить" для MySQL, затем нажмите "Открыть журнал".
Самые последние данные журнала находятся внизу, а журнал организован по дате, времени, некоторому числу и тексту в скобках, которые могут содержать "Примечание" или "Ошибка". Тот, который говорит "Ошибка", вероятно, вызывает проблему.
Для меня моей ошибкой было табличное пространство, которое вызывало проблему, поэтому я удалил файлы базы данных в указанном месте.
Примечание. Файлы табличного пространства для вашей установки XAMPP могут находиться в другом месте, но они были в /opt/lampp/var/mysql
для меня. Я думаю, что это типично для XAMPP в дистрибутивах на основе Debian. Кроме того, мои инструкции о том, что нажимать в панели управления, чтобы просмотреть журнал, могут немного отличаться для вас, потому что я запускаю XAMPP в дистрибутиве Linux на основе Ubuntu (Feren OS).