小编Tra*_*tin的帖子

为什么人们建议不要使用Amazon RDS?

我们目前在EC2上运行MySQL,我们已经有一段时间了.我喜欢简化备份,恢复和故障转移的想法,我真的很容易使用RDS代替EC2.我已经开始从EC2迁移到RDS,但是当我完成迁移时,我一直在想我是否正在做正确的事情.

我读过人们暗示不要使用Amazon RDS for MySQL数据库,但我还没有找到RDS缺点的简明解释.

有人可以帮助我理解为什么我不应该转移到RDS,而是将我的数据保存在EC2中?

我们的数据库大约有30GB的数据,主要来自1800万行表和一个InnoDB数据库中的4000万行表.

任何想法都非常感激.谢谢!

mysql amazon-ec2 amazon-web-services amazon-rds

6
推荐指数
1
解决办法
2364
查看次数

使用基于Load的实例时,Amazon OpsWorks Custom Cookbooks不会更新

我在Amazon OpsWorks中部署了一个堆栈,并且我广泛使用自定义cookbook来部署我的应用程序.我的堆栈中有许多基于负载的实例(它们仅在需要时启动).

每当我对自定义cookbook进行更改时,我都必须在任何正在运行的实例上手动更新cookbook(通过导航到Deployments> Run Command).问题是任何未引导的实例都不会更新,并且它们不会在下次引导时自动更新.

我已经发现我可以删除然后重新创建所有基于负载的实例,迫使它们在下次需要时完全重新设置,但必须有更好的方法来部署更新的自定义cookbook.

如何强制我的离线基于负载的实例在下次启动时更新其烹饪书(即使每次启动都没问题)?

amazon-web-services aws-opsworks

6
推荐指数
1
解决办法
1298
查看次数

如何导入包含TIMESTAMP字段INSERT的MySQL binlog,默认值为CURRENT_TIMESTAMP

我有一个数据库,我正在尝试迁移到Amazon RDS.我通常按​​照说明https://engineering.gosquared.com/migrating-mysql-to-amazon-rds.

我已经完成了原始服务器的mysqldump,并且已将数据导入RDS服务器.现在,我已准备好导入自mysqldump以来发生的更改.当我将mysqlbinlog的输出传递给mysql时,我得到一个关于NULL值的错误.

我的表有一个TIMESTAMP字段,调用DateReceived默认值为CURRENT_TIMESTAMP.当我们的应用程序插入记录时,它将保留DateReceived为NULL,以便数据库处理填充当前时间.

当我们尝试导入mysqlbinlog时,它会阻塞那些NULL值插入.

这是mysqlbinlog输出的片段:

BEGIN
/*!*/;
# at 42615369
#130813 13:41:12 server id 60  end_log_pos 42615397     Intvar
SET INSERT_ID=173164716/*!*/;
# at 42615397
#130813 13:41:12 server id 60  end_log_pos 42618804     Query   thread_id=680551        exec_time=0     error_code=0
use mydatabase/*!*/;
SET TIMESTAMP=1376426472/*!*/;
INSERT INTO email_History (`From`, `Subject`, `DateReceived`) VALUES ('someone@acme.com', 'FW: Message', NULL)
/*!*/;
# at 42618804
#130813 13:41:12 server id 60  end_log_pos 42618831     Xid = 37399491
Run Code Online (Sandbox Code Playgroud)

我在尝试导入时从mysql获得的错误是:

ERROR 1048 (23000) at line 28: Column 'DateReceived' cannot …
Run Code Online (Sandbox Code Playgroud)

mysql amazon-rds

4
推荐指数
1
解决办法
1991
查看次数

如何使用 Composer 确定项目的根目录

我有一个用 PHP 创建的应用程序(“foo”),它使用作曲家为其带来依赖项。其中一个依赖项是我们创建的另一个项目(“bar”)。

当Composer 将bar添加到foo应用程序时,bar需要访问foo应用程序的 MySQL 数据库。数据库凭据存储在foo应用程序的配置目录中。

我的foo文件结构看起来有点像这样:

app/ # files for the foo app config/ # config information to access MySQL vendor/ # composer-managed files, including our bar app composer.json # information to load bar into the vendor/ directory

当我自己开发bar应用程序时,我需要能够在bar开发应用程序的根目录中放置一个 config/ 目录,并且bar需要能够访问它。如果bar是另一个作曲家项目(在本例中为foo)的一部分,我需要bar知道转到foo的根目录中的 config/ 目录,而不是查看bar的根目录。

bar如何确定 config/ 的正确目录?我想我需要找到作曲家安装的根目录,但我不知道该怎么做。

如果现实世界的例子有帮助的话......

我正在将此foo应用程序部署到 …

php composer-php

4
推荐指数
1
解决办法
4849
查看次数