新余 网站建设,网站建设广告合同需要交印花税吗,wordpress动态图片,优化设计三年级下册语文答案提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、数据备份的重要性 三、造成数据丢失的原因 四、备份类型 4.1物理与逻辑角度 4.2数据库备份策略角度 五、常见的备份方法 5.1 物理备份 5.2 使用专用备… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 目录 前言 一、概述 二、数据备份的重要性 三、造成数据丢失的原因 四、备份类型 4.1物理与逻辑角度 4.2数据库备份策略角度 五、常见的备份方法 5.1 物理备份 5.2 使用专用备份工具 5.3 通过启用二进制日志增量备份 5.4 第三方工具备份 六、备份 6.1 完整备份 6.1.1 打包数据库文件备份 6.1.2 备份工具备份 6.2 增量备份 MySQL企业备份案例 总结 前言 数据库备份是指将数据库的数据和结构复制到其他存储介质或位置的过程。数据库备份是数据库管理的重要任务它可以提供数据的保护和恢复功能并在发生数据丢失、系统故障、灾害等情况下可以迅速还原数据库。 提示以下是本篇文章正文内容下面案例可供参考
一、概述 数据库备份是指将数据库中的数据、表格、视图、存储过程、触发器等信息备份到另一个地方以便在数据库丢失或损坏时进行恢复。数据库备份是数据库管理中必不可少的一项工作通过备份可以保护数据库中的数据和业务。
二、数据备份的重要性
备份的主要目的是灾难恢复备份还可以测试应用回滚数据修改查询历史数据审计等。
三、造成数据丢失的原因 程序错误 人为错误 运算失败 磁盘故障 灾难如火灾、地震和盗窃
四、备份类型
4.1物理与逻辑角度
物理备份对数据库操作系统的物理文件如数据文件、日志文件等的备份 冷备份 是在关闭数据库的时候进行的 热备份 数据库处于运行状态这种备份方法依赖于数据库的日志文件 逻辑备份对数据库逻辑组件如表等数据库对象的备份表时为逻辑数据库结构create database、 create table等语句和内容insert语句或分割文本文件的信息
4.2数据库备份策略角度 完整备份 完整备份指的是备份整个数据库的所有信息包括数据库文件中所有的数据、表、视图、存储过程、触发器等。一般来说完整备份是备份最全面、可靠的方式但备份文件体积较大备份时间也相对较长 增量备份 增量备份指的是在完整备份的基础上每隔一定时间备份新增的数据或修改的数据。这种备份方式可以节省备份时间和备份文件的空间但需要配合特定软件或命令进行
五、常见的备份方法
5.1 物理备份 物理冷备份时需要在数据库处于关闭状态下能够较好的保证数据库的完整性。物理冷备份以用于非核心业务这类业务都允许中断物理冷备份的特点就是速度快恢复时也是最为简单的通过直接打包数据库文件夹/usr/local/mysql/data来实现备份。
5.2 使用专用备份工具 mysqldump mysqlhotcopy
5.3 通过启用二进制日志增量备份 MySQL支持增量备份进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制。对执行备份点后进行的数据库更改所需的信息进行备份。如果进行增量备份包含上次完全备份或增量备份以来发生的数据修改需要刷新二进制日志。
5.4 第三方工具备份 Percona XtraBackup是一个免费的MySQL热备份软件支持在线备份innodb和XtraDB也可以支持MySQL表备份。 注意事项 定期备份指定备份计划严格遵守 除了完全备份之外开启binlog日志功能很重要 使用统一的、容易理解的备份名称推荐使用库名或者表名加上时间的命名规则
六、备份
6.1 完整备份
6.1.1 打包数据库文件备份 位置 源码包的位置/usr/local/mysql/data/ rpm包的位置/var/lib/mysql 备份 在数据库中创建数据表并写入数据 停止数据库服务 创建备份目录 按照特定格式对数据库目录进行备份 tar czf mysql_all-$(date %F).tar.gz /var/lib/mysql/* 还原 创建还原目录 模拟元数据丢失 将解压之后的数据还原至原目录 登录查看
创建数据表并写入数据 停止数据库服务
对数据库目录进行压缩归档备份 还原创建目录 移动到/bak 将包解压到/restore 还原到原目录 启动服务查看 6.1.2 备份工具备份 1. 备份 工具 mysqldump 对单个库进行完全备份 mysqldump -u用户名 -p[密码] [选项] --databases [数据库名] /备份路径/备份文件名 对多个库进行完全备份 mysqldump -u用户名 -p[密码] [选项] --databases 库名1 [库名2]…… /备份路径/备份文件名 对所有库进行完全备份 mysqldump -u用户名 -p[密码] [选项] --opt --all-databases /备份路径/备份文件名 对表进行完全备份 mysqldump -u用户名 -p[密码] [选项] 数据库名 表名 /备份路径/备份文件名 对表的结构进行备份 mysqldump -u用户名 -p[密码] -d 数据库名 表名 /备份路径/备份文件名 2. 还原 工具 source 登录mysql 数据库执行source 备份sql脚本路径 mysql mysql -u用户名 -p[密码] 库备份脚本的路径 mysql -u用户名 -p[密码] 库名 表备份脚本的路径 进入数据库删除库test 还原 进入数据库删除表massage 还原 6.2 增量备份 使用完全备份时备份与恢复的时间过长 增量备份就是备份自上一次备份之后增加的或改变的文件内容 特点 没有重复数据备份量不大时间短 恢复麻烦需要上次完全备份及完全备份之后所有的增量备份才能恢复而且要对所有增量备份进行逐个反推恢复 MySQL没有提供直接的增量备份办法可以通过MySQL提供的二进制日志binary logsbinlog间接实现增量备份 MySQL二进制日志对备份的意义 二进制日志保存了所有更新或者可能更新数据库的操作。 二进制日志在启动MySQL服务器后开始记录并在文件达到max_binlog_size所设置的大小或者接收到flush logs命令后重新创建新的日志文件。 开启二进制日志备份功能 MySQL的配置文件的[mysqld]项中加入 log-bin文件存放路径/文件前缀如 log-binmysql-bin然后重启mysqld服务。默认此配置存在。 使用mysqld --log-bin文件存放路径/文件前缀 重新启动mysqld服务每周选择服务器负载较轻的时间段或者用户访问较少的时间段进行备份 增量恢复 应用场景 人为的SQL语句破坏了数据库 在进行下一次全备之前发生系统故障导致数据库丢失 在主从架构中主库数据发生了故障保证从库数据一致性 方法 一般恢复 备份的二进制日志内容全部恢复 格式 mysqldbinlog [--no-defaults] 增量备份文件 | mysql -u用户名 -p密码 基于时间点的恢复 便于跳过某个发生错误的时间点实现数据恢复 格式从日志开头截止到某个时间点的恢复 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密码 基于位置的恢复 可能在同一时间点既有错误的操作也有正确的操作基于位置进行恢复更加准确 mysqlbinlog --stop-position‘操作 id‘ 二进制日志 | mysql -u用户名 -p密码 mysqlbinlog --start-position‘操作 id‘ 二进制日志 | mysql -u用户名 -p密码 一般恢复 第一次完全备份 第一次日志回滚 查看表的内容
新增数据 删除表
恢复第一次表的备份 查看 恢复增量 MySQL企业备份案例
需求描述
北京移电通信公司的用户信息数据库为client用户资费数据表为user_info
请为该公司每周进行完全备份
每天为该公司进行增量备份
· 新增加的用户信息如表所示 安装mysqlyum 方式 添加数据库、表录入数据 先进行一次完全备份 进行一次日志回滚生成新的二进制日志 继续录入新的数据 进行增量备份 模拟误操作删除user_info表 恢复完全备份 恢复增量备份 基于时间点的增量备份恢复 基于位置的恢复 总结 数据库备份的重要性在于保护数据免遭丢失、误删、病毒攻击、硬件故障、自然灾害等风险。所以我们在以后的生产、生活中要及时做数据备份防止造成数据的丢失。