Нужно ли открывать порт MySQL для работы моего приложения DigitalOcean LAMP?

0

После первого развертывания приложения я получаю следующую ошибку: Не удалось подключиться к базе данных: время ожидания подключения (2002)

Вот мой подключаемый PHP-код:

defined('DBSERVER') ? null : define("DBSERVER", "<my_ip_address>"); 
defined('DBUSER') ? null : define("DBUSER", "<db_username>");
defined('DBPASS') ? null : define("DBPASS", "<db_password>");
defined('DBNAME') ? null : define("DBNAME", "<db_name");

private $connection;

function _construct() {
    $this->openconnection();
}

public function openconnection() {
    $this->connection = mysqliconnect(DBSERVER, DBUSER, DBPASS, DBNAME);
    if(mysqliconnecterrno()) {
       die("Database connection failed: " . 
       mysqliconnecterror() . 
       " (" . mysqliconnecterrno() . ")"
       );
    }
}
  • 0
    что произойдет, когда вы проверите соединение? // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
  • 0
    Я не уверен, что вы имеете в виду здесь. Не могли бы вы объяснить подробнее?
Показать ещё 1 комментарий
Теги:
digital-ocean
lamp

1 ответ

0

Если у вас есть база данных Mysql на другой машине, чем да, вы должны разрешить весь IP-адрес из конфигураций mysql, и да, вы также должны добавить исключение брандмауэра для Mysql Port на своем сервере.

  • 0
    Я создал брандмауэр и добавил входящее исключение MySQL, но все еще получаю ту же ошибку.
  • 0
    Можете ли вы подтвердить, что ваш порт доступен, выполнив проверку на portchecker.co/check
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню