mysqldump简单备份

mysqldump简单命令

    mysqldump DB_NAME [tb1] [tb2] > /path/back.sql

    --master-data={0|1|2}
    0: 不记录二进制日志文件及路位置;
    1:以CHNAGE MASTER TO的方式记录位置,可用于恢复后直接启动从服务器;
    2:以CHANGE MASTER TO的方式记录位置,但默认为被注释;

    --lock-all-tables:锁定所有表

    --flush-logs: 执行日志flush;


    --all-databases: 备份所有库
    --databases DB_NAME,DB_NAME,...: 备份指定库

    --events    :备份事件调度
    --routines  :备份存储过程和存储函数
    --triggers    :备份触发器
   --single-transaction :启动热备,热备份不要锁表;

mysqldump实现温备份

  1.锁表

mysql>flush tables wiht read lock;

  2.完全备份

[root@localhost backup]# mysqldump --lock-all-tables --master-data=2 --flush-logs --all-database > /backup/all_1.sql

   3.备份二进制文件

[root@localhost backup]# mysqlbinlog /mydata/mysql-bin.000029 > /backup/all_2.sql

  4.还原,如果只备份单个数据库或个别表,还原之前需要创建对应的数据库名称并选择,这里备份的是所有库。

      临时关闭sql_log_bin          //如果没有写操作关闭,防止产生大量日志,这个看情况而定,也可以不关闭

mysql> set sql_log_bin=0;

mysql> . /backup/all.sql //还原完全备份的文件


mysql> . /backup/all_2.sql //还原增量备份(二进制文件)

  

原文地址:https://www.cnblogs.com/kankanhua/p/4708849.html