无线网站应建设在什么地方,四川全美网络科技有限公司,wordpress lens,做自己看视频的网站一.数据备份的重要性
#xff08;1#xff09;在生产环境中#xff0c;数据的安全性至关重要
#xff08;2#xff09;任何数据的丢失都可能产生严重的后果
#xff08;3#xff09;造成数据丢失的原因
程序错误人为操作失误运算错误磁盘故障灾难#xff08;如火灾…一.数据备份的重要性
1在生产环境中数据的安全性至关重要
2任何数据的丢失都可能产生严重的后果
3造成数据丢失的原因
程序错误人为操作失误运算错误磁盘故障灾难如火灾地震和盗窃 扩展容灾 容灾系统是指在相隔较远的异地建立两套或者多套功能相同的IT系统相互之间可以进行健康状态的监控和功能切换当一处系统因为意外如火灾、地震、服务器人为破坏等停止工作后整个应用系统可以切换到另一处使得该系统功能可以继续正常工作。 二. 数据库备份的分类
从物理与逻辑的角度备份可分为 物理备份对数据库操作系统的物理文件如数据文件、日志文件等的备份
物理备份方法
1冷备份脱机备份是在关闭数据库的时候进行的 把数据库用systemctl stop关闭的时候进行备份 2热备份联机备份数据库处于运行状态依赖于数据库的日志文件 从数据库的日志文件进行备份不建议用这种方式去备份 3温备份数据库锁定表格不可写入但可读的状态下进行备份操作 温备份不影响数据库的运行但是你不能访问 逻辑备份对数据库逻辑组件入表等数据库对象的备份 这种类型的备份适用于可以编辑数据值或表结构 从数据库的备份策略角度备份可以分为
完全备份每次对数据库进行完整的备份 完全备份过程 每次都会进行完全备份会导致备份文件占用巨大的空间并且有大量的重复数据 生产环境中只适合第一次不适合天天备份 恢复时直接把文件导入进去即可 差异备份备份自从上次完全备份之后被修改过的文件 差异备份过程 上次差异备份都会备份上一次完全备份之后的数据可能会出现备份重复数据导致占用大量额外的磁盘空间 恢复时先回复完全备份再回复导入差异备份的数据 增量备份只有在上次完全备份或者增量备份后被修改的文件才会被备份 增量备份过程 每次增量备份的数据都是备份在上一次完全备份或者增量备份之后的数据不会出现重复数据也不会占用额外的磁盘空间 恢复时 需要 完全恢复 再增量恢复次序 备份方式的比较
备份方式完全备份时状态第一次添加内容备份内容第二次添加内容备份内容完全备份表1表2表3表1表2表3表4表1表2表3表4差异备份表1表2表3表3表4表3表4增量备份表1表2表3表3表4表4 完全备份创建多少都会把原来的数据再备份一遍 差异备份会把上一次备份多出来的数据再备份一遍 增量备份都会备份每一份多出来的的数据 选择备份的策略
备份方式备份策略频率完全备份一周做一次完全备份。在不需要提供业务的时间例如PM 10点 AM 5:00最好在凌晨1~5点差异备份选择特定的场景进行备份增量备份1/2/3天一次增量备份 我们为了数据的安全一般会放在NFS中 总结
完全备份差异备份增量备份执行顺序每次完全备份会备份之前完全备份的数据会出现重复数据每次执行差异备份会备份之前每次的差异备份每一次增量备份的数据都是备份上一次增量备份后新增的数据占用磁盘空间占用大量的磁盘空间占用少量额外的磁盘空间占用极少量的磁盘空间数据恢复 把完全备份的文件导入即可 恢复速度很快 先恢复完全备份数据再导入差异备份数据先恢复完全备份数据再恢复增量备份数据需要按照次序进恢复 三.常见的备份方法
物理冷备
备份时数据库处于关闭状态直接打包数据库文件备份速度快恢复时也是最简单的
专用备份工具mudump或mysqlhotcopy
mysqldump常用的逻辑备份工具mysqlhotcopy仅拥有备份MyLSAM和ARCHIVE表
启用二进制日志进行增量备份
进行增量备份需要刷新二进制文件 Mysql支持增量备份进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制对执行的数据库更改所需的信息进行恢复。如果进行增量备份包含上次完全备份或增量备份以来发生的数据修改需要刷新二进制日志 第三方工具备份
免费的MYSL热备份软件Percona XtraBackup
完全备份
是对整个数据库、数据库结构和文件结构的备份保存的时备份完成时刻的数据库是差异备份和增量备份的基础
完全备份的优点
备份与恢复操作简单方便
完全备份的缺点
数据存在大量的重复占用大量的备份空间备份与回复时间长
完全备份的分类
物理冷备份与恢复
关闭MYSQL数据库使用tar命令直接打包数据库文件夹直接替换现有MYSQL目录即可
mysqldump备份与和恢复
MySQL自带的备份工具可方便实现对MYSQL的备份可以将指定的库表导入为SQL脚本使用命令mysql导入备份的数据 导出使用的是Mysqldump导入使用的是Mysql命令 四.Mysql数据库完全备份操作
InnoDB 存储引擎的数据库在磁盘上存储成三个文件:
db.opt(表属性文件)表名.frm(表结构文件)表名.ibd(表数据文件)
环境准备-创建数据库和表插入若干条记录
use test;
create table test01(id int(4) not null auto_increment primary key,
name varchar(10) not null,
age char(10) not null,
hobby varchar(50));insert into test01 values(1,zhangsan,22,xizao);
insert into test01 values(2,lisi,21,xijiao);
insert into test01 values(3,wangwu,20,anmo);
insert into test01 values(4,zhaoliu,19,tangtou);select * from test01; 物理冷备份与恢复
方法一
先关闭数据库 备份
[rootlocalhost mysql]#pwd
/usr/local/mysql
[rootlocalhost mysql]#tar zcvf data.tar.gz data/[rootlocalhost mysql]#mv data.tar.gz /opt mysql下的data就是我们的数据 这时mysql下多了我们备份的data.tar.gz 将备份的数据移动到我们指定的目录 恢复 将备份的数据解压回源目录 这时我们发现原数据又回来了 方法二
备份
使用tar命令直接打包数据库文件夹
yum -y install xz
#压缩备份
tar Jcvf /opt/mysql_all_$(date %F).tar.xz /usr/local/mysql/data/3、直接替换现有MySQL目录即可
mv /usr/local/mysql/data/ /opt/4、解压恢复
tar Jxvf /opt/mysql_all_2024-03-25.tar.xz -C ./
cd /usr/local/mysql/data
mv /usr/local/mysql/data/* ./压缩备份 成功得到备份 [rootlocalhost mysql]#ls
[rootlocalhost mysql]#mkdir data
[rootlocalhost mysql]#ls
data
[rootlocalhost mysql]#pwd
/home/mysql
[rootlocalhost mysql]#tar Jxvf /opt/mysql_all_2024-03-25.tar.xz -C ./ 这时我们发现在mysql下创建的data目录里面没有数据 解压到data目录下 解压的移动到指定目录下 这时我们发现mysql目录下有了我们的data数据 mysqldump 备份与恢复 完全备份一个或多个完整的库包括其中所有的表
mysqldump -u root -p[密码] --databases 库名1 [库名2] ... /备份路径/备份文件名.sql #导出的就是数据库脚本文件
mysqldump -uroot -p123 --databases test /opt/test.sqlmysqldump -u root -p123456 --databases mysql test /opt/test_mysql.sql 备份一个test库 备份mysql和test两个库 查看 完全备份MySQL服务器中所有的库
mysqldump -u root -p[密码] --all-databases /备份路径/备份文件名.sqlmysqldump -u root -p123456 --all-databases /opt/all.database.sql 备份所有的库 查看