mysql备份详析
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本文主要给大家介绍mysql备份详析,文章内容都是笔者用心摘选和编辑的,mysql备份详析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。一 备份类型按是否离线1)热备
千家信息网最后更新 2024年11月11日mysql备份详析
二 备份需考虑的问题1 备份什么?
数据、配置文件、二进制日志、事务日志2 离线备份还是在线备份? MyISAM不宜进行热备,一旦备份中出现问题,不能用于还原,推荐使用温备份(以共享方式锁定所有表)如果必须使用热备,使用LVM进行快照 InnoDB热备工具:xtrabackup(物理备份), mysqldump(逻辑备份) 最好使用离线备份,较为安全,使用主从实现,可以在某一时刻停掉从云服务器的服务,进行离线备份3 物理备份还是逻辑备份?物理备份,优势:直接复制数据文件,速度快 缺点:有些数据依赖文件系统,移植能力有限逻辑备份优势:方便使用文本处理工具直接对其处理,移植能力强
缺点:复制数据导出至文本文件中,数据慢,丢失浮点数精度(转化为文本时丢失)4 备份策略选择?完全备份+增量备份 或者 完全备份+差异备份
三 mysql备份工具
mysqldump,逻辑备份工具,MyISAN(温备),InnoDB(热备)mysqlhotcopy,物理备份工具,冷备文件系统备份工具cp:冷备lvm:逻辑卷快照,几乎热备 mysql> lock tables user read; # mysql> unlock tables; mysql> FLUSH TABLES;创建快照:释放锁,而后复制数据注意:InnoDB有一个问题:flush和lock tables后,数据库还可能有数据操作,比如没有commit的事物
所以要确保数据完全写入磁盘后才能进行快照
ibback,商业工具extrabackup,开源工具网络备份工具porconna-tool
四 mysqldump实现备份1 备份一个库mysqldump DB_NAME [tb1] [tb2]备份单个数据库,或库中特定表;恢复时,需要手动创建数据库mysql> LOCK TABLES;锁表
mysql> FLUSH TABLES;数据写入磁盘
mysql> flush logs;二进制文件日志mysql> show bianry log;显示二进制日志
备份:mysqldump -u root -h localhost -p jiaowu > jiaowu_bak.sql
还原:mysql jiaowu < jiaowu_bak.sql
--master-data={0|1|2} 0: 不记录二进制日志文件及路位置; 1:以CHANGE MASTER TO的方式记录位置,可用于恢复后直接启动从云服务器; 2:以CHANGE MASTER TO的方式记录位置,但默认为被注释;--lock-all-tables:锁定所有表--flush-logs: 执行日志flush;如果指定库中的表类型均为InnoDB,可使用--single-transaction启动热备,不需要锁表
2 备份多个库: --all-databases: 备份所有库 --databases DB_NAME,DB_NAME,...: 备份指定库 --events --routines --triggers
五 即时点还原1 备份策略:每周完全+每日增量
完全备份:mysqldump 增量备份:备份二进制日志文件(flush logs)2 完全备份# mysqldump -u root -p --flush-logs --master-data=2 --flush-logs --all-databases --lock-all-tables [--triggers --routines] --events > alldb.sql时间过去一天3 增量备份# cd /data/mysql/
# mysqladmin flush-logs
# mysqlbinlog mysql-bin.000019 > /root/monday-increment.sql
3.1 增量备份# mysqladmin flush-logs
# mysqlbinlog mysql-bin.000020 > /root/tuesday-increment.sql4 数据库损坏mysql无法启动初始化mysql数据库4.1 恢复完全备份# mysql < alldb.sql
4.2 恢复增量备份即可4.3 导出最后的二进制日志并恢复mysql> mysqlbinlog mysql-bin.000020 | mysql
说明:清除二进制文件至mysql> show binary logs;
mysql> purge binary logs to 'mysql-bin.000019';
# mysqladmin flush-logs
本文主要给大家介绍mysql备份详析,文章内容都是笔者用心摘选和编辑的,mysql备份详析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。
一 备份类型按是否离线1)热备份,在线备份,读写不受影响;难度大2)温备份,能读不能写3)冷备份,离线备份,读写均中止物理备份,复制数据文件逻辑备份,复制数据导出至文本文件中完全备份:备份全部数据,可能是一个数据库的全部数据增量备份:仅备份上次完全备份或增量备份以后变化的数据;差异备份:仅备份上次完全备份以来变化的数据;备份方式可自由组合二 备份需考虑的问题1 备份什么?
数据、配置文件、二进制日志、事务日志2 离线备份还是在线备份? MyISAM不宜进行热备,一旦备份中出现问题,不能用于还原,推荐使用温备份(以共享方式锁定所有表)如果必须使用热备,使用LVM进行快照 InnoDB热备工具:xtrabackup(物理备份), mysqldump(逻辑备份) 最好使用离线备份,较为安全,使用主从实现,可以在某一时刻停掉从云服务器的服务,进行离线备份3 物理备份还是逻辑备份?物理备份,优势:直接复制数据文件,速度快 缺点:有些数据依赖文件系统,移植能力有限逻辑备份优势:方便使用文本处理工具直接对其处理,移植能力强
缺点:复制数据导出至文本文件中,数据慢,丢失浮点数精度(转化为文本时丢失)4 备份策略选择?完全备份+增量备份 或者 完全备份+差异备份
三 mysql备份工具
mysqldump,逻辑备份工具,MyISAN(温备),InnoDB(热备)mysqlhotcopy,物理备份工具,冷备文件系统备份工具cp:冷备lvm:逻辑卷快照,几乎热备 mysql> lock tables user read; # mysql> unlock tables; mysql> FLUSH TABLES;创建快照:释放锁,而后复制数据注意:InnoDB有一个问题:flush和lock tables后,数据库还可能有数据操作,比如没有commit的事物
所以要确保数据完全写入磁盘后才能进行快照
ibback,商业工具extrabackup,开源工具网络备份工具porconna-tool
四 mysqldump实现备份1 备份一个库mysqldump DB_NAME [tb1] [tb2]备份单个数据库,或库中特定表;恢复时,需要手动创建数据库mysql> LOCK TABLES;锁表
mysql> FLUSH TABLES;数据写入磁盘
mysql> flush logs;二进制文件日志mysql> show bianry log;显示二进制日志
备份:mysqldump -u root -h localhost -p jiaowu > jiaowu_bak.sql
还原:mysql jiaowu < jiaowu_bak.sql
--master-data={0|1|2} 0: 不记录二进制日志文件及路位置; 1:以CHANGE MASTER TO的方式记录位置,可用于恢复后直接启动从云服务器; 2:以CHANGE MASTER TO的方式记录位置,但默认为被注释;--lock-all-tables:锁定所有表--flush-logs: 执行日志flush;如果指定库中的表类型均为InnoDB,可使用--single-transaction启动热备,不需要锁表
2 备份多个库: --all-databases: 备份所有库 --databases DB_NAME,DB_NAME,...: 备份指定库 --events --routines --triggers
五 即时点还原1 备份策略:每周完全+每日增量
完全备份:mysqldump 增量备份:备份二进制日志文件(flush logs)2 完全备份# mysqldump -u root -p --flush-logs --master-data=2 --flush-logs --all-databases --lock-all-tables [--triggers --routines] --events > alldb.sql时间过去一天3 增量备份# cd /data/mysql/
# mysqladmin flush-logs
# mysqlbinlog mysql-bin.000019 > /root/monday-increment.sql
3.1 增量备份# mysqladmin flush-logs
# mysqlbinlog mysql-bin.000020 > /root/tuesday-increment.sql4 数据库损坏mysql无法启动初始化mysql数据库4.1 恢复完全备份# mysql < alldb.sql
4.2 恢复增量备份即可4.3 导出最后的二进制日志并恢复mysql> mysqlbinlog mysql-bin.000020 | mysql
说明:清除二进制文件至mysql> show binary logs;
mysql> purge binary logs to 'mysql-bin.000019';
# mysqladmin flush-logs
看完以上关于mysql备份详析,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。
备份
数据
文件
工具
增量
日志
二进制
数据库
逻辑
备份工具
物理
快照
文本
方式
位置
还是
问题
服务
优势
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
菲律宾 软件开发 20w
网络安全意识资料
数据库防火墙命令阻断
如何查看存储服务器磁盘
not的用法 数据库
登录ae服务器
星洋互联网络科技有限公司
广东要玩网络技术有限公司
华为服务器错误请稍后重试什
可以使用宏的数据库对象是
零基础趣学软件开发
安全狗拦截 数据库修改
计算机数据库管理招聘
医院网络安全自查计划
临沂智慧社区软件开发
最经典的外文数据库
公安机关网络安全网站
货源渠道网络技术有限公司
网宿科技_互联网_大数据
多个微信小程序共用一个云数据库
数据库需求分析案例
局域网数据服务器
基于ros的软件开发
应急指挥体系网络安全工作报告
程序基础软件开发
网络安全分析报告论文
早期的线性软件开发模型称为
数据库 免费课件
网络安全需警惕绘画小学四年级
北京网络安全大会开几天