为了建立总统,我审查了以下内容:
- Amazon-RDS 数据库到专用服务器
- AWS RDS 的 Mysqldump
然而,我还没有找到一个明确的解决方案来解决我在这些问题中的问题,并且只有辅助因素——我想提供一个全面的具体指南来将数据移动到 AWS RDS 中/周围。
我确实在 Percona MySQL 性能会议上与一位与 RDS 合作的 DBA 顾问进行了讨论,他提出了以下建议,这显然是一个经常出现的问题——我想要更多的投入来帮助每个人。
** 根据大型 MySQL 咨询公司和演讲中举手的数量,这对 RDS 用户很重要。**
- 目标#1。从您的 RDS 实例中获取数据 - 您不能在 RDS 中的主要版本之间移动。-也许你想把它带到 EC2 实例上,比如 Percona 等。
- 愿望清单目标#1a。其次,如果可能的话,清理/QA数据,
- 目标 #3 - 将数据返回到另一个较小的 RDS 或其他风格/平台。
事实:
- 我在 MySQL 5.5.x (<5.5.8) 中有一个大的(主要是 utf-8 中的 40-50GB 数据集,一些 latin-1)。1a。旧管理员出于某种原因将我们的实例大小设置为 1000GB 的专用存储,这只是填充。(?)。
- 现在所有的表都是,显然 InnoDB - 几个表大约是 ~14GB。那是另一个问题。
- 可能存在多重编码:也许是 UTF8;拉丁语 1 和瑞典语-fkafkakfk?
因此,这些是我正在辩论的选项:
选项 A:直接 .sql 转储;.sql 重新加载
- 转储,在 .sql 标准可执行文件中,模式和表等集体转储,重新加载。
- **因此考虑 latin-1 的可移植性:
mysqldump -u username -p --default-character-set=latin1 -N database > backup.sql
mysql -u username -p --default-character-set=latin1 database < backup.sql**
问题RE:选项A: - 建议re:上面的代码,用于分块,完整性和以其他方式保证平滑转储和重新加载?变量编码的意外情况
show information schema
(处理 latin1 不能处理的算法?)
选项 B:带有架构 + QA/架构细化的表的单个 ascii 文件转储
以纯 ASCII(字符集?UTF-8?我必须小心吗?)将这些数据转储到单独的各个表中,可能以块的形式用于数据 QA。
将继续执行以下操作以输出 TSV DATA 和 SCHEMA:
mysqldump --user=dbuser --password --tab=~/output/dir dbname
其次,运行一些 perl/python 来清理可能的错误垃圾字符;编码问题;等来自 8 年的 5 个不同 DBA 和大约 12 种不同的数据输入格式/文件类型。
问题回复:选项 B:
- 我的数据有很多对数据真实的垃圾字符;管定型最好?
- 我从 TSV 等从基本转储加载到 AWS RDS 时遇到了可怕的错误,超出了他们的数据加载白皮书中发布的建议?