冷备份:关闭数据、停止业务温备份:加锁备份热备份:在先备份,不会影响到也正常运行
(1)mysqldump建库、建表、数据插入(2)基于二进制日志:数据库的所有变化类的操作(3)基于复制的备份:将二进制日志实时传送到另一台机器并且恢复
(1)xtrabackup进行物理备份(2)拷贝数据文件(冷备)
(1)mysqldump mysql原生自带很好用的逻辑备份工具(2)mysqlbinlog 实现binlog备份的原生态命令(3)xtrabackup precona公司开发的性能很高的物理备份工具
优点:逻辑备份工具,都是SQL语句,都是文本格式,便于查看和编辑,更便于压缩 缺点:备份效率较慢
-u -p -h -S -P
-A
mysqldump -uroot -p123456 -A >/backup/full.sql
例子:
mysqldump -uroot -p123456 -B ysl >/backup/ysl.sql mysqldump -uroot -p123456 ysl >/backup/ysl1.sql
-B 增加建库(create)及(use库)的语句 后面恢复时,不需要手动创建库和use
不加 -B 后面恢复时,要先创库 use库
另外 -B 选项可以实现, 同时备份多个库,备份到一个文件中
mysqldump -uroot -p123456 -B ysl test >/backup/ysl_test.sql
如果不加 -B 就是备份 ysl库下 test表
mysqldump 库1 表1 表2 表3 > 库1.sql
-R 备份存储过程和函数数据 --triggers 备份触发器数据
mysqldump -uroot -p123456 -A -R --triggers >/backup/ysl.sql
-F, --flush-logs 刷新binlog日志,为了方便将来二进制日志截取时的起点 缺点有多少个库 就会刷新多少次binlog日志
--master-data={1|2} 告诉你备份后时刻的binlog位置 2 注释 1 非注释,要执行(主从复制)
锁表:适合所有引擎(myisam,innodb) -x, --lock-all-tables -l, --lock-tables
--single-transaction 对innodb引擎进行热备 通过快照的方式实现热备
压缩备份:
#压缩备份: mysqldump -uroot -p123 -A -R --triggers --master-data=2 --single-transaction |gzip >/backup/all_$(date +%F).sql.gz
解压 :
gunzip all_2019-09-16.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='my-bin.000002', MASTER_LOG_POS=852779; -- 找到全量截取起点 -- 找到 结束点 show binlog events in 'my-bin.000002';
https://www.cnblogs.com/augustyang/p/11535355.html
转载于:https://www.cnblogs.com/augustyang/p/11529068.html
