小编Dan*_*Tao的帖子

如何将大型 MySQL 数据库迁移到 RDS?

我已经研究了一点。我意识到 Stack Overflow 上也有类似的问题,亚马逊自己也有一份有用的文档,在这里提供建议:

http://aws.amazon.com/articles/2933

我的担忧如下:

亚马逊建议mysqldump仅用于“少量数据”,他们将其定义为小于 1GB。我打算迁移的数据库超过 20GB。

mysqldump然而,关于 的--single-transaction一个好处是它具有标志,这使我能够确保与单个时间点一致的数据库状态。

对于大量数据,Amazon 的建议是将数据库导出为平面(例如 CSV)文件,然后用于mysqlimport将这些文件导入 RDS。然而,我知道如何做到这一点的最好方法是通过SELECT ... INTO OUTFILE命令,它一次只操作一张表。当然,这样做的缺点是它不提供--single-transaction.

我想我可以通过暂时关闭整个数据库来确保一致性;但如果可能的话,我想避免这种情况。

  1. 将我的大型(> 20GB)数据库放入平面文件以便我可以使用的最佳方法是什么mysqlimport
  2. 如果确实是SELECT ... INTO OUTFILE命令,我如何导出数据库中的所有表(最好不必一次执行一个)?
  3. 有什么好的方法可以确保所有这些的一致性吗?

mysql mysqldump

8
推荐指数
1
解决办法
6168
查看次数

如果 MAX(id) != COUNT(id),这是否意味着行已被删除?

这个问题几乎说明了一切。我们在这里谈论 MySQL,版本 5.1。

我想知道的是这是否严格意味着行已被删除,或者是否有其他可能的情况可能导致这种情况:奇怪的锁定或竞争条件等,迫使表的ID计数器为一次插入多次递增。

mysql auto-increment mysql-5.1

5
推荐指数
1
解决办法
422
查看次数

标签 统计

mysql ×2

auto-increment ×1

mysql-5.1 ×1

mysqldump ×1