[英]Connecting to MySQL database on Google Cloud from localhost application
我最近在 Google Cloud 上建立了一個 MySQL 數據庫。 我已將我的 IP 地址列入白名單,並且可以使用 MySQL 工作台連接到它,沒有任何問題。
我正在開發一個 PHP 應用程序,我在 localhost:8000 上運行它。 當我連接到本地 MySQL 實例時,一切正常,但是在嘗試連接到 Google Cloud 實例時遇到了問題。
似乎正在建立連接(我嘗試故意連接錯誤的主機名並得到“沒有這樣的主機已知”錯誤)。 使用 IP 地址:Google Cloud 實例的端口號,我遇到了無法識別表的問題,我認為這意味着我已連接到主機,但無法正確獲取架構。
我想知道這個問題是否是由於連接是從本地主機調用的,我需要在谷歌雲上設置一些東西來允許這個。
誰能告訴我
(1) 如果這可能是問題所在,如果是,
(2) 如何在 Google 上允許從 localhost 進行訪問?
有關更多信息,我使用
pdo = new PDO($dsn, "root", <password>, $options);
在哪里
$dsn = "mysql:host=<ip-address>:<port>;dbname=<schema-name>;"
和
$options = [
PDO::ATTR_PERSISTENT => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE => true,
PDO::ATTR_STRINGIFY_FETCHES => false
];
以下在本地實例上運行良好:
$dsn = "mysql:host=localhost:3306;dbname=<schema-name>;"
提前致謝!
在玩了一些之后,我發現我的問題與我從 localhost 調用數據庫這一事實無關。 事實上,這是因為 Google 平台對表名區分大小寫,而我的本地版本 MySQL 則不是。
所以我的問題的答案是,這與在 localhost 上運行應用程序無關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.