Мой хост Базы данных и мой хост веб-сайта не являются тем же.
Я создал несколько веб-приложений на.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.
Если кто-либо может помочь. Я искал ответы в течение многих дней теперь.
Большое спасибо за всю помощь. Кажется, что хост, который я использовал для своей базы данных в течение почти 4 лет, решил заблокировать вниз 3 306 доступов к инструментальным средствам и удаленному доступу. Никакое уведомление об этом.
Они решили, что процент заболеваемости на MySQL слишком высок. Теперь только локальный хост и те же веб-сайты хоста работают там. Это странно, хотя, потому что все мои другие проекты и инструментальные средства все еще соединяются. Я обсудил это с ними, но они настаивают.
Я должен буду переместить базу данных в другое место.
Я сделал тест этим утром на другом хосте. Все работали отлично.
Еще раз спасибо за всю помощь.