我正在将整个服务器转换为使用Barracuda文件格式和动态行格式。这是我做的:
由于我再次创建所有数据库并重新创建表格,我期待它们都是梭子鱼,但大多数都是羚羊。
有没有办法在mysqldump上或在导入时指定row_format?
注意:在有人问为什么之前,我会尝试使用不同的文件格式来测试哪种格式最适合我们的服务器,该服务器目前有680个数据库,共有326k表和40Gb。现在的主要问题是mysql企业备份需要很长时间来备份它。
答案 0 :(得分:7)
以下是我最终如何做到这一点:
完全转储后,我使用sed转换了最终文件:
cat full.sql | sed -e 's/ROW_FORMAT=COMPACT/ROW_FORMAT=DYNAMIC/' | sed -e '/ROW_FORMAT/!s/^) ENGINE=InnoDB/) ENGINE=InnoDB ROW_FORMAT=DYNAMIC/' > full.mod.sql
此行将ROW_FORMAT从COMPACT更改为DYNAMIC,并在未指定格式时添加ROW_FORMAT = DYNAMIC。