【发布时间】:2020-02-03 03:55:22
【问题描述】:
我经常使用以下命令通过 ssh 在 AWS RDS 上导出一个 mySql 数据库:
mysqldump -u myUserName -h myDBname.randomcharacters.us-region.rds.amazonaws.com -p myDBname > myDBname.sql
它会创建 10 GB 的 sql 文件,然后我将其压缩并下载到我的开发系统。
最近我通过在 mySQLWorkbench 中运行此代码向该数据库添加了全文索引:
ALTER TABLE myTable ADD FULLTEXT(field1, field2);
自从添加全文索引后,数据库继续运行良好。在访问它时一切正常。但是当我通过mysqldump 导出它时,它会在导出大约 2 GB 的数据后退出,当我尝试在本地开发系统上导入它时,生成的文件会导致我的 sql 客户端崩溃。
这能解释什么?
【问题讨论】:
-
全文索引的内容既不被mysqldump读取也不被导出——加载dumpfile的服务器负责在加载数据时从头开始构建全文索引.添加此索引的唯一方法是更改转储文件中的表定义,这不会导致您描述的问题。
-
你说 mysqldump “在导出大约 2 GB 的数据后退出” 但 mysqldump 并没有直接退出——如果一切都没有,这必然伴随着来自 mysqldump 的错误消息没有被抓获。那条错误信息是什么?在创建转储文件时指定
--verbose可能很有用,如果您不知道这一点,您还需要知道 mysqldump 文件是人类可读的,因此像head和tail和less这样的实用程序对于检查它们以获取提示很有用。请告诉我们你看到了什么。
标签: mysql mysql-workbench amazon-rds