MySQL实现全量、增量备份与恢复方法
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,下文主要给大家带来MySQL实现全量、增量备份与恢复方法,希望这些内容能够带给大家实际用处,这也是我编辑MySQL实现全量、增量备份与恢复方法这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数
千家信息网最后更新 2024年09月22日MySQL实现全量、增量备份与恢复方法
下文主要给大家带来MySQL实现全量、增量备份与恢复方法,希望这些内容能够带给大家实际用处,这也是我编辑MySQL实现全量、增量备份与恢复方法这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
数据备份的重要性
1、在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果2、造成数据丢失的原因程序错误人为错误计算机失败磁盘失败灾难(如地震等)和偷窃
数据库备份的分类
一、从物理与逻辑的角度,备份可分为:
1、物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份物理备份又可以分为脱机备份(冷备份)和联机备份(热备份):-冷备份:是在关闭数据库的时候进行的-热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件2、逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份
二、从数据库的备份策略角度, 备份可分为:
1、完全备份:每次对数据进行完整的备份2、差异备份:备份那些自从上次完全备份之后被修改过的文件3、增量备份:只有那些在.上次完全备份或者增量备份后被修改的文件才会被备份注意点:差异备份与增量备份相辅相成
MySQL完全备份(全量备份)
1、完全备份是对整个数据库的备份、数据库结构和文件结构的备份2、完全备份保存的是备份完成时刻的数据库3、完全备份是增量备份的基础
完全备份的优点
备份与恢复操作简单方便
完全备份的缺点
1.数据存在大量的重复2.占用大量的备份空间3.备份与恢复时间长
mysqldump备份库
一、MySQL数据库的备份可以采用用多种方式
1.直接打包数据库文件夹,如/usr/local/mysql/data2.使用专用备份工具mysqldump
二、mysqldump命令
1.MySQL自带的备份工具,相当方便对MySQL进行备份2.通过该命令工具可以将指定的库、表或全部的库导出为SQL脚本,在需要恢复时可进行数据恢复
三、使用mysqldump命令对单个数据库进行完全备份
mysqldump -u用户名-p [密码] [选项] [数据库名] > /备份路径/备份文件名
四、使用mysqldump命令对多个库进行完全备份
mysqldump -u 用户名 -p [密码] [选项] --databases 库名1 [库名2]... >/备份路径/备份文件名
五、使用mysqldump命令对所有库进行完全备份
mysqldump -u用户名-p [密码] [选项] --all-databases > /备份路径/备份文件名
mysqldump备份表
在实际生产环境中,存在对某个特定表的维护操作,此时mysqldump同样发挥重大作用
1.使用mysqldump备份表的操作
mysqldump -u 用户名 -p [密码] [选项] 数据库名 表名 > /备份路径/备份文件名
2.使用mysqldump备份表结构的操作
mysqldump -u 用户名 -p [密码] [选项] -d 数据库名 表名 > /备份路径/备份文件名
恢复数据库
一、使用mysqldump命令导出的SQL备份脚本,在进行数据恢复时可使用以下方法导入
source命令 #数据库模式中运行mysql命令 #Linux模式中运行
1、使用source恢复数据库的步骤
●登录到MySQL数据库●执行source备份sq|脚本的路径(绝对路径)
MySQL [(none)] > source /backup/all-data.sql#source命令恢复
2.使用mysql命令恢复数据
mysql -u用户名-p [密码] <库备份脚本的路径
mysql -u root -p < /backup/all-data.sql#mysql命令恢复
二、使用mysqldump进行完全备份的存在的问题
●备份数据中有重复数据●备份时间与恢复时间长
恢复数据表操作
1、恢复表时同样可以使用source或者mysql命令进行2、source恢复表的操作与恢复库的操作相同3、当备份文件中只包含表的备份,而不包括创建库的语句时,必须指定库名,且目标库必须存在.生产环境中,可以使用shell脚本自动实现定期备份mysql -u用户名-p [密码] < 表备份脚本的路径
mysql -u root -p mysql < /backup/mysql-user.sql#mysql命令恢复表
MySQL备份思路
1、定期实施备份,制定备份计划或者策略,并严格遵守2、除了进行完全备份,开启MySQL云服务器的日志功能是很重要的●完全备份加上日志,可以对MySQL进行最大化还原MySQL-bin:MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查询语句)信息。可以使用mysqlbin命令查看二进制日志的内容3、使用统一的和易理解的备份文件名称●不要使用backup1、backup2等这样没有意义的名字●推荐使用库名或者表名加上时间的命名规则
MySQL增量备份
增量备份就是备份自上一次备份之后增加或变化的文件或者内容
增量备份的特点
●没有重复数据,备份量不大,时间短●恢复麻烦:需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复
MySQL没有提供直接的增量备份方法
可以通过MySQL提供的二进制日志(binary logs)间接实现增量备份
MySQL二进制日志对备份的意义
●二进制日志保存了所有更新或者可能更新数据库的操作●二进制日志在启动MySQL云服务器后开始记录,并在文件达到max_ binlog_size所设置的大小或者接收到flush logs命令后重新创建新的日志文件●只需定时执行flush logs方法重新创建新的日志,生成二进制文件序列,并及时把这些旧的日志保存到安全的地方就完成了一个时间段的增量备份
查看二进制日志文件(解码)
mysqlbinlog --no-defaults --base64-output=decode-rows -V mysql-bin.000002 > /opt/ bak. txt
MySQL数据库增量恢复概述
一般恢复
基于位置回复
就是将某个起始时间的二进制日志导入数据库中,从而跳过某个发生错误的时间点实现数据的恢复
基于时间点恢复
使用基于时间点的恢复,可能会出现在一个时间点里既同时存在正确的操作又存在错误的操作,所以我们需要一种更为精确的恢复方式
增量恢复的方法
1.一般恢复
mysqlbinlog [--no-defaults]增量备份文件 | mysql -u用户名 -p
2.基于位置的恢复
恢复数据到指定位置
mysqlbinlog --stop-position=操作'id' 1进制日志 | mysql -u用户名 -p 密码
从指定的位置开始恢复数据
mysqlbinlog --start-position=操作'id'二进制日志 | mysql -u用户名 -p 密码
3.基于时间点的恢复
从日志开头截止到某个时间点的恢复
mysqlbinlog [--no-defaults] --stop-datetime='年-月-日 小时:分钟:秒'二进制日志 | mysql -u用户名 -p 密码
从某个时间点到日志结尾的恢复
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小时:分钟:秒'二进制日志 | mysql -u用户名 -p 密码
从某个时间点到某个时间点的恢复
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小时:分钟:秒' --stop-datetime='年-月-日 小时:分钟:秒'二进制日志 | mysql -u用户名 -p 密码
对于以上关于MySQL实现全量、增量备份与恢复方法,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。
备份
数据
数据库
日志
文件
增量
时间
命令
用户
二进制
用户名
密码
路径
方法
脚本
内容
文件名
位置
小时
物理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大专毕业网络软件开发实招聘
女生可以学计算机网络技术
网络安全知识正能量
网络安全防守攻防
java中的表单查询数据库
上海黑犇互联网科技有限公司
信创产业和网络安全产业
vfp数据库表怎么打开
网络安全行业销售人员必读书籍
网络安全开展应急预案演练
互联网科技停滞
民法典包括网络安全法吗
学生网络安全活动策划方案
如何用京东商智看数据库
如何打开geo数据库文件
英语作文如何维护网络安全
杨浦区无线网络技术创新服务
湖南网络技术职业
输出数据库字段消除重复行
世界网络安全市场
安卓项目软件开发
数据库介绍 英语作文
信创产业和网络安全产业
服务器s5
安全生产风险基础数据库
软件开发进度怎么管理不懂编程
中国高通网络安全
南京网络安全与执法招聘
mes服务器上门维修
计算机网络技术专业班徽