理论+实验:数据库的备份与恢复 |
您所在的位置:网站首页 › openwrt完整备份与恢复 › 理论+实验:数据库的备份与恢复 |
数据库备份与恢复
一、数据库备份的分类
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.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 |