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).