zoukankan      html  css  js  c++  java
  • mysqlpump原理及实战

    MySQL5.7之后多了一个备份工具:mysqlpump。它是mysqldump的一个衍生,mysqldump就不多说明了,现在看看mysqlpump到底有了哪些提升,可以查看官方文档,这里针对如何使用做下说明。
    mysqlpump和mysqldump一样,属于逻辑备份,备份以SQL形式的文本保存。逻辑备份相对物理备份的好处是不关心undo log的大小,直接备份数据即可。它最主要的特点是:
    并行备份数据库和数据库中的对象的,加快备份过程。
    更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。
    备份用户账号作为帐户管理语句(CREATE USER,GRANT),而不是直接插入到MySQL的系统数据库。
    备份出来直接生成压缩后的备份文件。
    备份进度指示(估计值)。
    重新加载(还原)备份文件,先建表后插入数据最后建立索引,减少了索引维护开销,加快了还原速度。
    备份可以排除或则指定数据库。

    重点参数介绍

    1. 支持基于表的多线程导出功能(--default-parallelism,默认为2,--parallel-schemas,控制并行导出的库)
    2. 导出的时候带有进度条(--watch-progress,默认开启)
    3. 支持直接压缩导出导入(参数--compress-output,而且支持ZLIB和LZ4)
    --set-gtid-purged=OFF   5.7.18后加入的参数,导入库中重新生产GTID,而不用原来的
    5.7.9以后版本 --default-parallelism 多线程才能与--single-transaction合用.
    mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > aa.sql

    备份myttest库下的tt表
    mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 mytest tt --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mytest_tt.sql
    备份mytest库
    mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 mytest --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mytest_fullbak.sql
    备份mysql库和mytest库
    mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --databases mysql mytest --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mysql_mytest_fullbak.sql
    备份所有数据库
    mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --all-databases --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/all_fullbak.sql
     

    打开general log执行

    time /usr/local/mysql/bin/mysqldump -uroot -pmsds007 --single-transaction --master-data=2 -A -S /app/mysqldata/3306/mysql.sock > db3306-`date +%Y%m%d`.sql

    time /usr/local/mysql/bin/mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --all-databases --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/all_fullbak.sql

    看general log的详细信息

     

    原理图

     
  • 相关阅读:
    mysql 5.6
    mysql5.7 二进制包安装
    centos 6 编译安装httpd-2.4
    mysql 5.5源码包安装
    BZOJ4945 & 洛谷3825 & UOJ317:[NOI2017]游戏——题解
    BZOJ4943 & 洛谷3823 & UOJ315:[NOI2017]蚯蚓排队——题解
    BZOJ3435 & 洛谷3920 & UOJ55:[WC2014]紫荆花之恋
    BZOJ5343 & 洛谷4602 & LOJ2555:[CTSC2018]混合果汁——题解
    真·APIO2018滚粗记
    BZOJ4518:[SDOI2016]征途——题解
  • 原文地址:https://www.cnblogs.com/allenhu320/p/11310586.html
Copyright © 2011-2022 走看看