我知道网站上还有其他类似的问题,但我无法找到解决方案。
我已设置 RDS 实例。我们在 EC2 实例上运行我们的网站。
我知道MySQL
它可以在 EC2 实例上运行,因为我们当前的MySQL
数据库在不同的非 RDS 服务器上运行,并且一切正常。
我可以通过工作台连接到 RDS 实例MySQL
(我已经批准使用我的公共 IP 地址进行连接)。
phpMyAdmin
我可以通过 连接到安装在 EC2 服务器上的RDS 实例。
但是,我无法使用 PHP/MySQLi 连接到 RDS 实例。
DEFINE ('DB_USER', '**user**');
DEFINE ('DB_PASSWORD', '**pass**');
DEFINE ('DB_HOST', '*************.rds.amazonaws.com');
if($dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD)){
//DB connected, do nothing
}
else {
echo 'Connection error';
echo mysqli_error();
exit();
}
我没有收到任何错误输出,什么都没有。它只是回显“连接错误”。
我让 EC2 实例和 RDS 共享一个安全组(虽然我只能编辑入站规则,而不能编辑出站规则,这很奇怪吗?),并在 RDS 安全设置上允许 EC2 的公共弹性 IP。
我迷路了!
答案1
请尝试以下操作:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
用您的凭证替换localhost
、mysql_user
和。mysql_password
或者
//conection:
mysqli_connect("myhost","myuser","mypassw","mybd") or die("Error " . mysqli_error($link));