MySQL/MariaDB数据库导入导出

对于较大的库,原生的mysqldump导出,mysql命令导入,这个过程太长,mydumper是一个多线程导入导出工具。

导出:

mydumper --user=user \                                 # 数据库用户
         --password=user_password \                    # 登录密码
         --port=3306 \                                 # 端口
         --host=127.0.0.1 \                            # 主机地质
         --threads=32 \                                # 导出线程数
         --compress-protocol \                         # 启用压缩协议
         --trx-consistency-only \                      # 事务一致性
         --complete-insert \                           # 使用完整的包含列名的插入语句
         --use-savepoints \                            # 使用savepoints以降低metadata锁的影响
         --chunk-filesize=256 \                        # 文件块大小,单位M字节
                                                       # 或者可以使用--rows
         --kill-long-queries \                         # 终止长查询,默认60秒
         --regex '^(?!(mysql|test|percona))' \         # 忽略的库
         --events \                                    # 
         --triggers \                                  # 
         --routines \                                  # 
         --daemon \                                    # 后台运行
         --outputdir=/data/backup/export-20180210 \    # 输出
         --logfile=/data/backup/md.log                 # 日志

导入:

myloader --user=user \                                  # 数据库用户
         --password=user_password \                     # 登录密码
         --port=3306 \                                  # 端口
         --host=127.0.0.1 \                             # 主机地址
         --threads=64 \                                 # 导入线程数
         --compress-protocol \                          # 启用压缩协议
         --overwrite-tables \                           # 覆盖原有表
         --directory=/data/backup/export-20180210/0/    # 数据文件

另外,发现一个go语言的版本,https://github.com/XeLabs/go-mydumper,看上去刚开发不是很久,功能、性能、稳定性还有待进一步测试。使用方式基本相同,有时间试用后再写具体用法。

猜你喜欢

转载自my.oschina.net/u/1261643/blog/1620115