[英](Azure) MySQL: MySQL Server Has Gone Away
按照Azure 上的指南, 配置防火牆設置,我仍然無法訪問我的 MySQL 數據庫。 即使 IP 地址已列入白名單,我也會從所有服務器獲得以下信息:
PHP 警告:PDO::__construct():MySQL 服務器在 C:\\Users\\admin\\app\\dbtest.php 中第 3 行消失了 PHP 警告:PDO::__construct():讀取問候包時出錯。 PID=11692 在 C:\\Users\\admin\\app\\dbtest.php 第 3 行
警告:PDO::__construct(): MySQL 服務器在 C:\\Users\\admin\\app\\dbtest.php 中第 3 行消失了
警告:PDO::__construct():讀取問候包時出錯。 PID=11692 in C:\\Users\\admin\\app\\dbtest.php on line 3 Error connected to SQL Server.PDOException Object ( [message:protected] => SQLSTATE[HY000] [2006] MySQL 服務器已經消失 [string:異常:私有] => [代碼:受保護] => 2006 [文件:受保護] => C:\\Users\\admin\\app\\dbtest.php [line:protected] => 3 [trace:Exception:private] => Array ( [0] => Array ( [file] => C:\\Users\\admin\\app\\dbtest.php [line] => 3 [function] => __construct [class] => PDO [type] => - > [args] => Array ( [0] => mysql:dbname=mydb;host=app.database.windows.net;port=1433 2 => admin 2 => pass ) ) ) [previous:Exception:private] => [errorInfo] => ) 1 進程完成,退出代碼為 0
這是我要連接的 PHP 腳本:
<?php
try {
$conn = new PDO("mysql:dbname=db;host=app.database.windows.net;port=1433", "admin", "pass");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
print("Error connecting to SQL Server.");
die(print_r($e));
}
在沒有連接超時的情況下連接到 Azure MySQL 數據庫需要哪些常規連接設置?
格式為app.database.windows.net;port=1433
的數據庫端點是提供 SQL Server 服務的 Azure SQL 的端點。 不是 MySQL。 請嘗試在https://www.microsoft.com/en-us/download/details.aspx?id=20098上安裝適用於 Windows 的 SQL Server 驅動程序。 然后嘗試使用new PDO( "sqlsrv:server=$serverName ; Database=AdventureWorks", "{user}", "{pass}");
連接到 Azure SQL。
如果你想在 Azure 上使用 MySQL BaaS,你可以參考https://azure.microsoft.com/en-us/documentation/articles/store-php-create-mysql-database/詳細步驟。
任何進一步的問題,請隨時告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.