开发者社区 问答 正文

我用的是DMS高级版【按量付费】,要转回普通免费版,无须按量付费的,怎么切换?还有数据库导出太大了

我用的 DMS高级版【按量付费】,要转回普通免费版,无须按量付费的,怎么切换?还有数据库导出太大了,原来我导入进去的史3M左右,导出的话,达到了53M,还有格式不对,原来是数据表导出的是: MyISAM格式,现在变成了Innodb  

展开
收起
1467142035860792 2019-02-24 10:45:14 611 分享 版权
阿里云 AI 助理回答

要解决您的问题,我们分两部分来解答:首先是DMS高级版转为普通免费版的切换方法,其次是关于数据库导出时遇到的大小不一致及格式变化的问题。

DMS高级版转为普通免费版

根据您提供的信息,直接从DMS高级版(按量付费)切换到普通免费版的过程可能需要通过调整实例的配置或服务类型来实现。但请注意,具体操作步骤和可行性可能会依据阿里云DMS服务的最新政策有所变化,且当前参考资料中并未直接提供从高级付费版降级到免费版的直接操作流程。建议您直接联系阿里云客服或查看DMS控制台内的帮助文档,以获取最新的指导信息。通常,服务降级涉及到的服务等级、功能差异以及可能存在的操作限制都需要详细了解。

数据库导出问题

大小不一致

数据库导出文件大小显著增加(从3M增长至53M),这主要是因为MySQL的InnoDB存储引擎与MyISAM相比,在数据文件中包含了额外的元数据和事务日志等信息,导致文件体积增大。此外,InnoDB使用表空间存储数据,即使删除数据,表空间文件大小可能不会自动缩减,这也可能是导出文件变大的一个原因。

格式变化

您提到原本是MyISAM格式的数据表在导出后变成了InnoDB格式,这通常发生在数据库表的存储引擎被更改的情况下。如果您在导入数据后对表的存储引擎进行了修改,那么导出时自然会按照当前的存储引擎格式进行。如果需要保持MyISAM格式,您可以在导出前将表的存储引擎改回MyISAM,然后再执行导出操作。

解决方案

  1. 调整存储引擎:在导出前,通过SQL命令修改表的存储引擎回MyISAM。

    ALTER TABLE 表名 ENGINE = MyISAM;
    
  2. 优化导出设置:在使用mysqldump等工具导出时,可以考虑使用--compact选项减少输出的注释和创建语句的冗余,但这不会改变因存储引擎不同导致的大小差异。

  3. 检查并优化数据:确认是否有不必要的数据膨胀,如冗余索引、大文本字段等,并进行相应的清理或优化。

  4. 联系技术支持:针对DMS服务的计费模式转换问题,直接咨询阿里云官方支持获取最准确的操作指引。

请参考上述建议操作,并结合阿里云DMS的最新文档或直接咨询客服,以确保操作符合当前服务规定和最佳实践。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答