美文网首页
使用MyDumper迁移InnoDB到TokuDB

使用MyDumper迁移InnoDB到TokuDB

作者: 刀尖红叶 | 来源:发表于2017-03-11 20:07 被阅读116次

    最近几台微信买家相关数据库数据量增长迅猛,空间紧张,因而考虑迁移到压缩率超高的TokuDB,一个比较流行的迁移方法是用mysqldump导出同时修改InnoDB字符串到TokuDB:
    mysqldump ...... | sed -e 's/^) ENGINE=MyISAM/) ENGINE=InnoDB/' > dump.sql

    但这样导出的单一文件恢复时太慢,虽然有各种第三方方法能使mysqldump导出多个文件,但复杂了些;而mydumper因为并行特性是一个更理想的迁移工具,但0.6之前因为锁时间太长导致实际不可用,而0.6后大大降低了锁时间,因而这次我尝试使用MyDumper来迁移InnoDB到TokuDB,我的思路是:

    因为MyDumper导出的文件是schema和data分开的,因而可以先导入schema,修改成TokuDB引擎后再将数据导入

    以下是步骤:
    1.导出文件
    mydumper ...... -o /data/dump

    2.将schema和data文件分离

    mkdir /data/dump_schema  
    mv /data/dump/*schema* /data/dump_schema  
    mv /data/dump /data/dump_data  
    cp /data/dump/metadata /data/dump_schema  
    

    3.导入schema
    myloader ...... -d /data/dump_schema

    4.转换InnoDB到TokuDB
    pt-find ...... --engine InnoDB --exec "ALTER TABLE %D.%N ENGINE=TokuDB"

    5.导入data
    myloader ...... -d /data/dump_data

    相关文章

      网友评论

          本文标题:使用MyDumper迁移InnoDB到TokuDB

          本文链接:https://www.haomeiwen.com/subject/ybdzgttx.html