Мой хост DataBase и хост моего веб-сайта не совпадают.
Я создал несколько веб-приложений на. NET с файлом web.config или app.config, где я мог легко установить машинный ключ для соединения mysql в базе данных mysql для веб-фермы.
Это было очень просто для NET или веб-приложения Visual studio.
<system.web>
<machineKey validationKey="C250127840E44F50A34824E348FC089A0DE6C60C3D0CF61A31AB01BCAB6AE3940C82648D2F085B1DECFA5204AD393A5810403DABED73002608AEF7231F29E6CB" decryptionKey="8A86EB63181EDD9439D664ACA990D07302F3280E6F6919B3" validation="SHA1" decryption="AES"/>
</system.web>
Однако
Я сейчас создаю сайт для хоста Linux. Я использую ту же базу данных и снова, при тестировании, соединение в порядке. Однако при публикации соединение mysql отклоняется.
У меня есть подозрение, что это снова из-за веб-фермы, но нет никаких доказательств этого.
Я разрешил IP хоста на удаленном компьютере - mysql .
Я проверил, что IP-адрес хоста не заблокирован на Mysql хосте.
Я проверил порты для mysql соединение. (Работает до публикации sh).
Я проверил привилегии пользователя для mysql имени пользователя.
Я также отправил по почте парней из службы поддержки на моем mysql хосте, чтобы узнать, есть ли что-нибудь на их стороне.
Я сидел с этим некоторое время, и это расстраивает.
Есть ли способ, которым я могу установить ключ машины в этом приложении / это необходимо?
Если кто-нибудь предложит что-нибудь еще, что я мог бы проверить, или указать мне настройку, я могу будет отсутствовать, это было бы НАМНОГО признательно.
Ниже мое соединение, которое работает, когда я запускаю приложение.
Publi sh для хоста, Connection отказано.
<?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.
Это после публикации sh на хосте ::
Не удалось подключиться к базе данных mydb: SQLSTATE [HY000] [2002] Соединение отклонено
Я получаю то же самое результат с PDO и MySqli
Если кто-нибудь может помочь. Я искал ответы уже несколько дней.