php - 连接到 Amazon AWS RDS 上的 MySQL

标签 php mysql amazon-web-services

我通常使用以下方式连接:

$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”添加到 Connecting From PHP Server to MySQL Server on Amazon AWS 的安全组中

其他信息: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(免费)并输入所有必要的字段并尝试连接并查看它是否加载数据库。

关于php - 连接到 Amazon AWS RDS 上的 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29039296/

相关文章:

php - 在 PHP 中帮助输出

amazon-web-services - AWS SAM-部署打包的模板时出现 'Encountered unsupported property CodeUri'错误

linux - 无法在亚马逊 linux 上安装 docker

php - Magento 2 不构建产品缩略图缓存

php - 网站注册重置而不是进入数据库

mysql - 从 influxdb 查询数据并将其存储到测量(表)中

mysql - 更新mysql中 bool 值的语法

amazon-web-services - AWS-CDK:有什么方法可以通过输入参数传递 vpc cidr?

php - 在 PHP 4 中复制通过 PHP 的 HTTP Get 上传的文件

php - 具有不同字段的 Symfony CollectionType