理论+实验:数据库的备份与恢复

您所在的位置:网站首页 openwrt完整备份与恢复 理论+实验:数据库的备份与恢复

理论+实验:数据库的备份与恢复

2024-07-14 10:02| 来源: 网络整理| 查看: 265

数据库备份与恢复 一、数据库备份的分类 1.1 数据备份的重要性 1.2 数据库备份的分类-1 1.3 数据库备份的分类-2 1.4 常见的备份方法 二、 MySQL完全备份与恢复 2.1 MySQL完全备份-1 2.2 MySQL完全备份-2 2.3 数据库完全备份分类 2.4 MySQL物理冷备份及恢复 2.5 mysqldump备份数据库-1 2.6 mysqldump备份数据库-2 2.7 恢复表的操作 三、企业备份案例-完全备份 3.1 物理冷备份与恢复 3.2 mysqldump备份与恢复 四、MySQL增量备份与恢复 4.1 MySQL增量备份-1 4.2 MySQL增量备份-2 4.3 MySQL数据库增量恢复-1 4.4 MySQL数据库增量恢复-2 4.5 MySQL数据库增量恢复-3 五、企业备份案例-增量备份

一、数据库备份的分类 1.1 数据备份的重要性

■ 再生产环境中,数据的安全性至关重要 ■ 任何数据的丢失都可能产生严重的后果 ■ 造成数据丢失的原因

程序错误 人为操作错误 运算错误 磁盘故障 灾难(如火灾、地震)和盗窃 在这里插入图片描述 1.2 数据库备份的分类-1

■ 从物理与逻辑的角度,备份可分为

物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份 ◆物理备份方法 冷备份(脱机备份) :是在关闭数据库的时候进行的 热备份(联机备份) :数据库处于运行状态,依赖于数据库的日志文件 温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作 逻辑备份:对数据库逻辑组件(如: 表等数据库对象)的 备份 1.3 数据库备份的分类-2

■ 从数据库的备份策略角度,备份可分为

完全备份:每次对数据进行完整的备份 差异备份:备份那些自从上次完全备份之后被修改过的文件 增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份 1.4 常见的备份方法

■ 物理冷备

备份时数据库处于关闭状态,直接打包数据库文件 备份速度快,恢复时也是最简单的

■ 专用备份工具mydump或mysqlhotcopy

mysqldump常用的逻辑备份工具 mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表

■ 启用二进制日志进行增量备份

进行增量备份,需要刷新_二进制日志

■ 第三方工具备份

免费的MySQl热备份软件Percona XtraBackup 二、 MySQL完全备份与恢复 2.1 MySQL完全备份-1

■ 完全备份是对整个数据库的备份、数据库结构和文件结构的备份 ■ 完全备份保存的是备份完成时刻的数据库 ■ 完全备份是增量备份的基础

2.2 MySQL完全备份-2

■ 优点

安全性高 备份与恢复操作简单方便

■ 缺点

数据存在大量的重复 占用大量的备份空间,空间利用率低 备份与恢复时间长 2.3 数据库完全备份分类

■ 物理冷备份与恢复

关闭MySQL数据库 使用tar命令直接打包数据库文件夹 直接替换现有MySQL目录即可

■ mysqldump备份与恢复

MySQL自带的备份工具,可方便实现对MySQL的备份 可以将指定的库、表导出为SQL脚本 使用命令mysql导入备份的数据 2.4 MySQL物理冷备份及恢复

■ 物理冷备份

[root@localhost ~]# systemctl stop mysqld [root@localhost ~]# mkdir /backup [root@localhost ~]# tar zvcf /backup/mysql ll-$(date + %F).tar.gz /usrlocal/mysql/dat

■ 恢复数据库

[root@localhost ~]# mkdir bak [root@localhost ~]# mv /usr/local/mysqI/data/ /bak/ [root@localhost ~]# mkdir restore [root@localhost ~]# tar zxf /backup/mysql all-2020-01-02.tar.gz -C restore/ [root@localhost ~]# mv restore/usr/local/mysql/data/ /usr/local/mysq/ [root@localhost ~]# systemctl start mysql 2.5 mysqldump备份数据库-1

■ mysqldump命令对单个库进行完全备份

musqldump -u 用户名 -p【密码】【选项】【数据库名】 > 备份路径/备份文件名

■ 单裤备份的示例

mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | shuai | | sys | +--------------------+ 5 rows in set (0.00 sec) [root@localhost ~]# mysqldump -u root -p shuai > /opt/shuai.sql #shuai.sql就是导出的备份文件 [root@localhost opt]# ls mysql-5.7.20 mysql-boost-5.7.20.tar.gz shuai.sql mysql_all_2020-08-19.tar.gz rh 2.6 mysqldump备份数据库-2

■ mysqldump命令对多个库进行完全备份

mysqldump -u 用户名 -p 【密码】【选项】 --databases 库名1 【库名2】.. > /备份路径/备份文件名

■ 多库备份的示例

#显示所有数据库 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mei | | mysql | | performance_schema | | shuai | | sys | +--------------------+ 6 rows in set (0.01 sec) #进行多库备份 [root@localhost opt]# mysqldump -uroot -pabc123 --databases shuai mei > /opt/shuai.mei mysqldump: [Warning] Using a password on the command line interface can be insecure.

■ 对所有库进行完全备份

musqldump -u 用户名 -p 【密码】【选项】 -add-databases > /备份路径/备份文件名

■ 所有库备份的示例

[root@localhost opt]# mysqldump -uroot -pabc123 --all-databases > /opt/all.sql mysqldump: [Warning] Using a password on the command line interface can be insecure. 2.7 恢复表的操作

■ 恢复表时同样可以使用source或者mysql命令 ■ source恢复表的操作与恢复库的操作相同 ■ 当备份文件中包含表的备份,而不包括创建库的语句时,必须指定库名,且目标库必须存在

mysql -u 用户名 -p [密码]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3