Подключение Mysql PDO/MySqli От Хоста Linux

Мой хост Базы данных и мой хост веб-сайта не являются тем же.

Я создал несколько веб-приложений на.NET с web.config или app.config файлом, где я мог легко установить a machinekey для Подключения mysql на базе данных MySQL для веб-фермы.

Это было очень просто на веб-приложении Visual Studio или.NET.

<system.web>
   <machineKey validationKey="C250127840E44F50A34824E348FC089A0DE6C60C3D0CF61A31AB01BCAB6AE3940C82648D2F085B1DECFA5204AD393A5810403DABED73002608AEF7231F29E6CB" decryptionKey="8A86EB63181EDD9439D664ACA990D07302F3280E6F6919B3" validation="SHA1" decryption="AES"/>
</system.web>

Однако

Я теперь создаю веб-сайт для хоста GNU/Linux. Я использую ту же Базу данных и снова на тестировании, соединение прекрасно. Однако при публикации Подключению mysql отказывают.

  • У меня есть подозрение, что это снова из-за веб-фермы, но нет никакого доказательства его.

  • Я позволил IP хоста на удаленном-mysql.

  • Я проверил, что IP Хоста не заблокирован на хосте MySQL.

  • Я проверил порты на Подключение mysql. (это работает, прежде публикуют).

  • Я проверил полномочия пользователя на имени пользователя MySQL.

  • Я также отправил парням поддержки по почте на моем хосте MySQL, чтобы видеть, существует ли что-нибудь на их стороне.

  • Я сидел с этим некоторое время и его срывом.

Существует ли способ, которым я могу установить ключ Машины на этом приложении/, в котором он нуждался?

Если бы кто-либо предлагает что-либо еще, что я мог бы проверить или указать на меня на установку, я могу отсутствовать, который ОЧЕНЬ ценился бы.

Ниже мое соединение, которое ДЕЙСТВИТЕЛЬНО работает, когда я запускаю приложение.

Опубликуйте для хостинга, Соединение, которому отказывают.

<?php

    $host = "server IP";
    $port = 3306;
    $user = "username";
    $password = "**********";
    $dbname = "mysql.table";

    $conn = new mysqli($host, $user, $password, $dbname, $port);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

?>

<?php

 $host = 'DB_IP';
    $dbname = 'DB_Name';
    $dsn = 'mysql:host=DB_IP;dbname=DB_Name';
    $username = 'Username';
    $password = 'Password';

     try {
         $conn = new PDO($dsn, $username, $password);
         echo "Connected to $dbname at $host successfully.";
     } catch (PDOException $pe) {
         die("Could not connect to the database $dbname :" . $pe->getMessage());
     }    

  ?>

Это - когда я тестирую код:

Подключенный к mydb в IPADDRESS успешно.

Это, после публикуют к хосту:

Невозможно подключиться к базой данных mydb: соединению SQLSTATE [HY000] [2002] отказывают

Я получаю тот же результат с PDO и MySQLi.

Если кто-либо может помочь. Я искал ответы в течение многих дней теперь.

0
задан 5 February 2020 в 12:54

1 ответ

Большое спасибо за всю помощь. Кажется, что хост, который я использовал для своей базы данных в течение почти 4 лет, решил заблокировать вниз 3 306 доступов к инструментальным средствам и удаленному доступу. Никакое уведомление об этом.

Они решили, что процент заболеваемости на MySQL слишком высок. Теперь только локальный хост и те же веб-сайты хоста работают там. Это странно, хотя, потому что все мои другие проекты и инструментальные средства все еще соединяются. Я обсудил это с ними, но они настаивают.

Я должен буду переместить базу данных в другое место.

Я сделал тест этим утром на другом хосте. Все работали отлично.

Еще раз спасибо за всю помощь.

0
ответ дан 20 February 2020 в 23:02

Другие вопросы по тегам:

Похожие вопросы: