簡體   English   中英

連接到 Amazon AWS RDS 上的 MySQL

[英]Connect to MySQL on Amazon AWS RDS

我通常使用以下方法進行連接:

$db_host = "localhost";
$db_username = "bill"; 
$db_pass = "mypassword";
$db_name = "theDB";

mysql_connect("$db_host","$db_username","$db_pass", TRUE) or die(mysql_error());
mysql_select_db("$db_name") or die("no database by that name");

我嘗試將主機更改為下面的 RDS 端點,但沒有成功:

$db_host = "mysql7.1234567890123.us-west-2.rds.amazonaws.com";

- 安全組具有允許我的 IP 的入站規則。

- 我已經嘗試將“10.0.0.0/8”添加到安全組從連接從 PHP 服務器到 Amazon AWS 上的 MySQL 服務器

其他信息: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_PHP_legacy.rds.html

有幾件事可以使用 PDO 或 mysqli 進行連接。 如果您通過設置正確的安全組確保可以連接到 RDS,那么您就已經解決了主要問題。

使用 PHP 連接到 Amazon RDS:

$dbhost = $_SERVER['RDS_HOSTNAME'];
$dbport = $_SERVER['RDS_PORT'];
$dbname = $_SERVER['RDS_DB_NAME'];

$dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname}";
$username = $_SERVER['RDS_USERNAME'];
$password = $_SERVER['RDS_PASSWORD'];

$dbh = new PDO($dsn, $username, $password);

$link = mysqli_connect($_SERVER['RDS_HOSTNAME'],   $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);

示例 1. 使用 PDO 連接到 RDS 數據庫的示例

$dsn = 'mysql:host=mydbinstance.abcdefghijkl.us-east-1.rds.amazonaws.com;port=3306;dbname=mydb';
$username = 'sa';
$password = 'mypassword';

$dbh = new PDO($dsn, $username, $password);

示例 2. 使用 mysqli_connect() 連接到 RDS 數據庫的示例

$link = mysqli_connect('mydbinstance.abcdefghijkl.us-east-1.rds.amazonaws.com', 'sa', 'mypassword', 'mydb', 3306);

如果沒有任何效果,請啟動一個 mysql 客戶端,如 navicat 或 mysql workbench(免費)並輸入所有必要的字段並嘗試連接並查看它是否加載了數據庫。

這最終對我有用。 謝謝你的幫助!

$db_host =      'instance2.123456789.us-west-2.rds.amazonaws.com:3306';     //RDS Endpoint...
$db_username =  'myusername';
$db_pass =      'mypassword';
$db_name =      'myDB'; 


mysql_connect("$db_host","$db_username","$db_pass", TRUE) or die(mysql_error());
mysql_select_db("$db_name") or die("no database by that name");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM