只能在AWS上连接Drupal到数据库

将现有的drupal代码库上载到在AWS上设置的虚拟主机。它显示“无法连接到数据库”只能在AWS上连接Drupal到数据库

我创建了数据库“dbname”,并可以通过ssh连接好。但无法获得settings.php连接。据我所知,mysql用户具有远程访问数据库所需的全部权限。

我有什么

$db_url = 'mysql://username:[email protected]/dbname'; 

这里是例子的settings.php的与我们的Drupal的7个网站连接细

$databases = array (

'default' =>

array (

'default' =>

array (

'database' => 'dbname',

'username' => 'dbuser',

'password' => 'password',

'host' => 'us-west-rds.amazonaws.com',

'port' => '3306',

'driver' => 'mysql',

'prefix' => '',

),

),

);

回答:

有几件事情要检查:

  • 你有没有打开安全组,以允许从您的服务器访问(如对方回答说,由鲍伯·金尼)?
  • 您的服务器上是否设置了防火墙,防止连接到您的RDS实例?
  • 您的用户是否有足够的权利连接到您的数据库?

调试最简单的方法是使用控制台命令mysql并尝试从那里连接到您的实例:

mysql dbname -u username -p password -h db01b2.ck1dmcn6kfws.us-west-1.rds.amazonaws.com 

如果这不工作,检查上面给出的点。如果这个工作并且不能在Drupal中工作,请检查您的PHP代码和/或Drupal配置。

回答:

听起来像是你可能没有设置安全组允许从您的EC2实例访问。您需要确保您的数据库安全组具有入口规则,以允许来自您的EC2实例/安全组的流量。

How do I control network access to my DB Instance(s)?

回答:

您指的是错误的主机名。

'host' => 'us-west-rds.amazonaws.com' 

每个单独的数据库实例都有它自己的主机名。您可以在AWS控制台中查看它。您当前指向的那个看起来像您打算指向RDS Web服务API端点。

以上是 只能在AWS上连接Drupal到数据库 的全部内容, 来源链接: utcz.com/qa/261007.html

回到顶部