造成数据丢失的原因 程序错误 人为商店 计算机失败 磁盘失败 灾难(如火山、地震)和偷窃 数据库备份的分类 从物理与逻辑的角度,备份可分为: 物理备份:对数据库操作系统的物理文件(如数据文件、日志文
造成数据丢失的原因
从物理与逻辑的角度,备份可分为:
完全备份是对整个数据库的备份、数据库结构和文件结构的备份
完全备份保存的是备份完成时刻的数据库
完全备份是增量备份的基础
mysqldump -u用户名-p [密码] [选项] [数据库名] > /备份路径/备份文件名
mysqldump -u 用户名 -p [密码] [选项] --databases 库名1 [库名2]... >/备份路径/备份文件名
mysqldump -u用户名-p [密码] [选项] --all-databases > /备份路径/备份文件名
在实际生产环境中,存在对某个特定表的维护操作,此时mysqldump同样发挥重大作用
mysqldump -u 用户名 -p [密码] [选项] 数据库名 表名 > /备份路径/备份文件名
mysqldump -u 用户名 -p [密码] [选项] -d 数据库名 表名 > /备份路径/备份文件名
使用mysqldump命令导出的SQL备份脚本,在进行数据恢复时可使用以下方法导入
●source命令 数据库模式中运行
●mysq|命令 linux模式中运行
使用source恢复数据库的步骤
●登录到MySQL数据库
●执行source备份sq|脚本的路径(绝对路径)
source 恢复例子
MySQL [(none)] > source /backup/all-data.sql
mysql -u用户名-p [密码] <库备份脚本的路径
恢复表时同样可以使用source或者mysql命令进行
source恢复表的操作与恢复库的操作相同
当备份文件中只包含表的备份,而不包括创建库的语句时,必须指定库名,且目标库必须存在
mysql -u用户名-p [密码] < 表备份脚本的路径
mysql -u root -p mysql < /backup/mysql-user.sql
在生产环境中,可以使用shell脚本自动实现定期备份
定期实施备份,制定备份计划或者策略,并严格遵守
除了进行完全备份,开启MySQL服务器的日志功能是很重要的
使用mysqldump进行完全备份的存在的问题
增量备份就是备份自上一次备份之后增加或变化的文件或者内容
增量备份的特点
可以通过MySQL提供的二进制日志(binary logs)间接实现增量备份
MySQL二进制日志对备份的意义
一般恢复:
基于位置回复
就是将某个起始时间的二进制日志导入数据库中,从而跳过某个发生错误的时间点实现数据的恢复
基于时间点恢复
使用基于时间点的恢复,可能会出现在一个时间点里既同时存在正确的操作又存在错误的操作,所以我们需要一种更为精确的恢复方式
一般恢复
mysqlbinlog [--no-defaults]增量备份文件 | mysql -u用户名 -p
基于位置的恢复
mysqlbinlog --stop-position=操作"id" 1进制日志 | mysql -u用户名 -p 密码
从指定的位置开始恢复数据
mysqlbinlog --start-position=操作"id"二进制日志 | mysql -u用户名 -p 密码
--结束END--
本文标题: MySQL数据库全量、增量备份与恢复
本文链接: https://www.lsjlt.com/news/4714.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0