建立数据库连接 Amazon EC2 时出错 - 移动我的 wordpress 博客后

     2023-03-04     290

关键词:

【中文标题】建立数据库连接 Amazon EC2 时出错 - 移动我的 wordpress 博客后【英文标题】:Error establishing a database connection Amazon EC2 - after moving my wordpress blog 【发布时间】:2011-11-11 00:54:16 【问题描述】:

将我的 wordpress 博客移动到 Amazon EC2 后,我收到错误消息:“建立数据库连接时出错”。我检查了 wp-config.php 文件,设置正常(本地主机、密码和用户名)。

我在这里阅读了许多问题和答案,但没有任何帮助。

我有 shell 访问权限,所以我可以检查您需要我做的所有事情。也许我应该查看phpmyadmin的配置文件,看看那里有哪些db连接设置,因为phpmyadmin可以工作,但我不知道它在哪里。

谢谢

【问题讨论】:

您能告诉我们数据库在您的 wp-config.php 中的配置位置吗?如果它在本地主机上运行,​​您是否检查过 mysql 是否在本地运行?如果它在远程主机上运行,​​是否可以从您的 ec2 实例访问它?通常,如果地址是 10.x.x.x 或 192.168.x.x,它可能不起作用(除非您有基础设施设置,但无论如何您都可以尝试 ping 它)。如果它是一个 dns 名称,还请检查您是否可以从您的 ec2 实例中解析它。 我到这里是因为 sym 链接到服务器上的不同位置。在它偶尔发生之前,这仍然令人担忧,重新启动就可以了,但它不是很好,并且建议我们为我们的 ec2 用户 IMO 进行错误配置。 【参考方案1】:

确保您已在 EC2 上安装 mqsql 客户端以建立与 RDS MySQL(或任何 RDS DB)的连接。并安装数据库依赖项,您需要从 Apache 访问 RDS。 点击链接:https://aws.amazon.com/getting-started/hands-on/deploy-wordpress-with-amazon-rds/5/

【讨论】:

【参考方案2】:

下面为我修复了它:

amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2 &&
service httpd restart

【讨论】:

【参考方案3】:

请点击您的 RDS 实例的安全组。然后点击入站 >Edit add "All TCP" for 0.0.0.0/0

【讨论】:

【参考方案4】:

我通过向我的实例添加交换解决了这个问题:

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo chmod 600 /var/swap.1
sudo /sbin/swapon /var/swap.1

如果您需要超过 1024,则将其更改为更高的值。

要在重启后默认启用它,请将此行添加到 /etc/fstab:

swap        /var/swap.1 swap    defaults        0   0

要检查您的实例是否正在使用交换,请运行以下命令:

cat /proc/meminfo

结果:

ubuntu@ip-172-31-24-245:/$ cat /proc/meminfo
MemTotal:         604340 kB
MemFree:            8524 kB
Buffers:            3380 kB
Cached:           398316 kB
SwapCached:            0 kB
Active:           165476 kB
Inactive:         384556 kB
Active(anon):     141344 kB
Inactive(anon):     7248 kB
Active(file):      24132 kB
Inactive(file):   377308 kB
Unevictable:           0 kB
Mlocked:               0 kB

SwapTotal:1048572 kB

无交换:1048572 kB

Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        148368 kB
Mapped:            14304 kB
Shmem:               256 kB
Slab:              26392 kB
SReclaimable:      18648 kB
SUnreclaim:         7744 kB
KernelStack:         736 kB
PageTables:         5060 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1350740 kB
Committed_AS:     623908 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        7420 kB
VmallocChunk:   34359728748 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      637952 kB
DirectMap2M:           0 kB

【讨论】:

【参考方案5】:

您可能会考虑关闭您的端口。

在 AWS 中,您可以在安全组中执行此操作。 例如,如果您打开了 SSH、HTTP 和 HTTPS 端口(22、80 等),请尝试仅对您的 IP 地址关闭它们。 (默认为 0.0.0.0,对所有人开放)。您尤其应该对 SSH 端口执行此操作。

机器人总是试图获得对开放端口的访问权……如果不是更多的话,每天都会攻击你数千次,以测试你是否有开放的漏洞。根据您的实例的大小,您可能无法处理此流量。这可能是您的服务器不断崩溃的原因。

【讨论】:

【参考方案6】:

最近遇到了同样的问题,我使用的是 AWS 免费套餐帐户。 ec2 实例是 t2.micro,它没有预先配置交换。当我安装 wordpress 的东西时,内存使用率总是更高,即使我什么也不做。有一天,我运行sudo yum update 命令,bash 显示-bash: fork: Cannot allocate memory 错误。我的网站也总是得到error establishing a database connection

我认为根本原因是内存使用率高。您可以按照此处的说明添加交换内存:How do you add swap to an EC2 instance?

【讨论】:

【参考方案7】:

如果重启后服务器一直崩溃,也许你应该增加内存,将服务器从 t2.micro 升级到 t2.medium 为我解决问题。

【讨论】:

【参考方案8】:

我有同样的错误。每次我的 EC2 服务器由于内存不足而重新启动时。 Mysql 没有通过显示“建立数据库连接错误”重新启动导致我的网站崩溃起初,我从 WHM 重新启动我的服务器,这立即修复了错误。下次服务器重新启动时错误返回。我还尝试在启动命令上 ssh 自动重启 mysql 数据库,但这不是问题。尽管我的安全组设置为接受所有流量,但我必须更改我的安全组以包含 mysql,并重新启动我的实例以修复错误。我不确定这是否适用于使用 EC2 的每个人。这对我有用

【讨论】:

【参考方案9】:

数据库连接中的错误可能是由于 root 密码(如果您从浏览器连接)。通过执行 $mysql_secure_installation 来保护您的数据库,以休息您的根密码。在第一步中,您可以为 root 指定一个新密码。那么一切都应该可以正常工作了。

【讨论】:

【参考方案10】:

在 ec2 中增加你的交换内存来解决这个问题。 http://digitizor.com/2011/02/06/create-swap-file-ubuntu-linux/

【讨论】:

我想知道要创建多少交换内存。创建交换内存的优缺点是什么。【参考方案11】:

我的网站遇到了同样的错误,我刚刚重启了我的实例,瞧,问题解决了。

我的情况:

我正在使用亚马逊免费套餐,一些机器人请求了我的网站,由于连接数过多,sql 数据库无法满足负载。因此,我也安装了负载平衡器 :) 希望它有所帮助

【讨论】:

【参考方案12】:

对我来说,只需重新启动 mysqld 服务即可。但是有一个问题,当我执行sudo service mysqld restart 时,MySql 服务停止但没有启动。 sudo services mysqld start 给出了 MySQL 守护程序无法启动错误。我花了很多时间尝试启动该服务,但我想真正的罪魁祸首是 httpd 服务。我停止了 httpd 服务sudo service httpd stop。现在执行sudo service mysqld restart 和宾果,wordpress 网站重新上线(记得启动 httpd 服务)。这听起来有点蹩脚,但它起作用了,从我发现 MySQL DB 停止的原因有很多,查看日志并找出真正的原因是唯一对我有用的东西。

【讨论】:

有人对此有更深入的了解吗?这件事今天发生在我身上,所描述的修复方法与前面提到的完全一样。在重新启动数据库之前,我必须重新启动 httpd。我的日志没有显示任何错误,所以我对以后如何防止这种情况感觉不太好。 我有同样的问题。它一直在发生。 这非常适合。没有理由一开始它是怎么发生的,因为我没有碰这台机器。 这实际上经常发生在我身上,虽然上述解决方案有效,但我想知道是否有永久解决方案 如果在 EC2 t2.micro 数据库上使用 WordPress 做噩梦,为什么会发生这种情况,并且永久地跌倒尝试的交换文件,添加 cron 作业以重新启动。【参考方案13】:

您没有说明您是否将博客从 myolddomain.com 移动到 mynewdomain.com,以及您使用的是普通 WordPress 还是多站点 WordPress。但这里有一些提示可能会有所帮助:

首先,您需要确保您的 wp-config.php 配置正确(数据库服务器、用户名、密码...)

其次,WordPress 使用数据库存储有关当前主机的一些信息,查看表 wp_site、wp_options、wp_sitemeta 并将包含 myolddomain.com 的所有行替换为 mynewdomain.com。

确保您的 EC2 安全组配置正确。

This article 也可能有帮助。

【讨论】:

【参考方案14】:

我不确定您使用的是哪个发行版,所以这是我通常如何解决这些类型的问题。 1.安装一个名为nmap的程序(它扫描端口) 2.运行'nmap localhost'(如果它不是本地的,则将localhost替换为运行数据库的任何服务器) 3. 检查你的数据库(mysql)是否正在运行

如果没有,则执行“services mysqld restart”(这将重新启动 mysql 守护程序)的效果。如果这可以解决它,那么请查看该服务是否自动启动。如果您使用该命令出现错误,则可能没有安装 mysql。

【讨论】:

从 C# 连接到 Amazon EC2 MySQL 时出错

】从C#连接到AmazonEC2MySQL时出错【英文标题】:ErrorconnectingtoAmazonEC2MySQLfromC#【发布时间】:2011-12-1115:23:37【问题描述】:我有一个AWSEC2实例正在运行。我试图在C#中像这样连接到我的MySQLMySqlConnectionl_DBConn=newMySqlConnection();l_DBConn.Con... 查看详情

Amazon 实例 Ec2 连接超时

】Amazon实例Ec2连接超时【英文标题】:AmazonInstanceEc2ConnectionTimeout【发布时间】:2011-06-1812:20:53【问题描述】:我正在使用AmazonEC2服务,它工作正常,但在3天前,当我们尝试使用ssh连接访问我们的实例时突然出现以下错误:“ssh... 查看详情

在使用 route53 在云端连接后,Amazon Ec2 上的 Ci3 会话数据出现问题。在公共 DNS 上启动时工作

】在使用route53在云端连接后,AmazonEc2上的Ci3会话数据出现问题。在公共DNS上启动时工作【英文标题】:ProblemwithCi3SessiondataonAmazonEc2afterconnectingoncloudfrontwithroute53.WorkswhenlaunchedonpublicDNS【发布时间】:2021-08-0502:10:19【问题描述】:... 查看详情

“建立数据库连接时出错”是啥意思

】“建立数据库连接时出错”是啥意思【英文标题】:whatsmeaningof"Errorestablishingadatabaseconnection"“建立数据库连接时出错”是什么意思【发布时间】:2011-12-1816:55:34【问题描述】:我有一个wordpress博客名称http://shareprogrammin... 查看详情

从 Amazon AWS EC2 服务器上的 Node.js 连接到 Redis 服务器时出错

】从AmazonAWSEC2服务器上的Node.js连接到Redis服务器时出错【英文标题】:ErrorconnectingtoRedisServerfromNode.jsonAmazonAWSEC2server【发布时间】:2012-06-0815:29:25【问题描述】:我正在尝试在AmazonAWSEc2微实例上运行node.js服务器和Redis服务器。我... 查看详情

wordpress 建立数据库连接时出错,页面无法显示

】wordpress建立数据库连接时出错,页面无法显示【英文标题】:wordpressErrorestablishingadatabaseconnection,thepagecannotdisplay【发布时间】:2018-11-1408:11:01【问题描述】:我对Wordpress很陌生。我将数据上传到cpanel,但是当我尝试借用链接显... 查看详情

Amazon ec2 linux实例mysql未连接

】Amazonec2linux实例mysql未连接【英文标题】:Amazonec2linuxinstancemysqlnotconnecting【发布时间】:2014-09-2206:35:19【问题描述】:大家好,我正在亚马逊ec2linus免费套餐实例中运行我的magento站点。我在几分钟前随机停止工作后启动MySQL时... 查看详情

WordPress“建立数据库连接时出错”

】WordPress“建立数据库连接时出错”【英文标题】:WordPress\'Errorestablishingadatabaseconnection\'【发布时间】:2021-05-2811:45:21【问题描述】:我正在尝试在WordPress开始我的第一个项目并输入这些数据DatabaseName:wp-project-1DB_USER:rootDB_PAS... 查看详情

建立连接时出错[关闭]

...本地主机中编辑文件,但是我无法导入从Live站点下载的数据库,这就是错误。我该如何解决这个问题?SQL查询:----Tablestructurefortable`island_commentmeta`--DROPTABLEIFEXI 查看详情

在 IIS 上托管 Wordpress 时建立数据库连接时出错

】在IIS上托管Wordpress时建立数据库连接时出错【英文标题】:ErrorestablishingadatabaseconnectionwhilehostingWordpressonIIS【发布时间】:2018-05-3114:28:48【问题描述】:当我使用WebPlatformInstaller安装wordpress时出现此错误。Errorestablishingadatabasecon... 查看详情

在 Amazon Linux 中安装 Jenkins 时出错

】在AmazonLinux中安装Jenkins时出错【英文标题】:ErrorwhileInstallingJenkinsinAmzonLinux【发布时间】:2021-10-2306:11:48【问题描述】:当我在AmzonLinux中安装Jenkins时,我收到此错误。不知道如何解决,网上没有详细信息。[ec2-user@hostname~]$sudo... 查看详情

Amazon Ec2 服务器上的数据库连接丢失

】AmazonEc2服务器上的数据库连接丢失【英文标题】:LosingDatabaseConnectiononAmazonEc2Server【发布时间】:2014-11-2804:29:22【问题描述】:在过去的几个月里,我遇到了一个问题,我在亚马逊ec2服务器上部署了我的应用程序,但我每天至... 查看详情

WordPress建立MySQL数据库连接IIS10时出错[重复]

】WordPress建立MySQL数据库连接IIS10时出错[重复]【英文标题】:WordPressErrorestablishingaMySQLdatabaseconnectionIIS10[duplicate]【发布时间】:2019-05-2712:18:16【问题描述】:我正在尝试在本地Windows10机器上使用MySQL设置WordPress。我收到此错误:... 查看详情

创建新实例时如何保护来自 Amazon EC2 实例的数据?

】创建新实例时如何保护来自AmazonEC2实例的数据?【英文标题】:HowtoprotectthedatafromAmazonEC2instancewhennewinstanceiscreated?【发布时间】:2015-03-0712:13:15【问题描述】:我们在EC2和RDS实例方面面临两个问题:当现有EC2实例终止并自动创... 查看详情

在我的本地主机中建立数据库连接时出错

】在我的本地主机中建立数据库连接时出错【英文标题】:Errorestablishingadatabaseconnectioninmylocalhost【发布时间】:2019-07-1621:18:58【问题描述】:我正在尝试在我的本地Xampp服务器中安装Wordpress但每次我收到一条错误消息建立数据库... 查看详情

在端口 80 上运行 mamp 时建立数据库连接时出错

】在端口80上运行mamp时建立数据库连接时出错【英文标题】:Errorestablishingdatabaseconnectionwhenrunningmamponport80【发布时间】:2012-11-2102:26:23【问题描述】:我正在尝试在端口80上运行Mampappache,因为应用程序(wordpressMU)不允许域名... 查看详情

VPS 服务器 LAMP - 建立数据库连接时出错

】VPS服务器LAMP-建立数据库连接时出错【英文标题】:VPSServerLAMP-Errorestablishingdatabaseconnection【发布时间】:2017-02-0904:55:33【问题描述】:我在LAMP服务器上有wordpress,然后经常停机。错误消息是“建立数据库连接时出错”。我不... 查看详情

建立数据库连接时出错:XAMPP WordPress

】建立数据库连接时出错:XAMPPWordPress【英文标题】:Errorestablishingadatabaseconnection:XAMPPWordPress【发布时间】:2017-07-1315:42:24【问题描述】:有很多关于此的文档,但我的故障排除失败了。我安装了适用于Windows的XAMPP,它工作正常... 查看详情