泉缘泉 发表于 2024-7-14 16:11:51

Linux云计算:数据备份操作详解_云计算数据实时备份,2024年最新自学网络安

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易遇到天花板技能停滞不前!
因此网络整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够资助到想自学提升又不知道该从何学起的朋友。
https://img-blog.csdnimg.cn/img_convert/ee6050791fdcaa4356664d9a809e6871.png
https://img-blog.csdnimg.cn/img_convert/5988ed9c84de9b440063be8b8cb88d15.png
https://img-blog.csdnimg.cn/img_convert/3f0b69322358a9b82ced0f5168b14fe6.png
https://img-blog.csdnimg.cn/img_convert/f1c57ab16d5dd156cbcd35b3001418ca.png
https://img-blog.csdnimg.cn/img_convert/b127d6a6fb565cfe4a322007a77bdc1f.png
https://img-blog.csdnimg.cn/img_convert/318068af8a2430b8c093757f12f358f6.png
既有适合小白学习的零底子资料,也有适合3年以上履历的小同伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习条记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
https://img-blog.csdnimg.cn/img_convert/a165449ce6453f0a12c12f12086133a6.png
正文

**本质:**导出的是SQL语句文件
**长处:**岂论是什么存储引擎,都可以用mysqldump备成SQL语句
**缺点:**速度较慢,导入时大概会出现格式不兼容的突发情况,无法做增量备份和累计增量备份。
提供三种级别的备份,表级,库级和全库级
逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句(DDL DML DCL),适用于中小型数据库,服从相对较低。
数据一致,服务可用。:怎样保证数据一致,在备份的时候进行锁表会自动锁表。锁住之后在备份。
本身为客户端工具:
远程备份语法: # mysqldump-h 服务器-u用户名-p密码   数据库名> 备份文件.sql
本地备份语法: # mysqldump-u用户名-p密码   数据库名> 备份文件.sql
1.常用备份选项

-A, --all-databases 
备份所有库
-B, –databases bbs test mysql
备份多个数据库
–no-data,-d 
不导出任何数据,只导出数据库表布局。
2.备份表

语法: # mysqldump -u root -p1 db1t1 > /db1.t1.bak   
# mkdir /home/back#创建备份目录
# mysqldump -uroot -p'qf123' company employee5 > /home/back/company.employee5.bak
mysqldump: Using a password on the command line interface can be insecure.
备份多个表:
语法: mysqldump -u root -p1 db1 t1   t2 > /db1.t1_t2.bak
# mysqldump -uroot -p'qf123' company new_t1 new_t2> /home/back/company.new_t1_t2.bak
3、备份库

备份一个库:相当于将这个库里面的所有表全部备份。
语法: # mysqldump -u root -p1 db1 > /db1.bak
# mysqldump -uroot -p'qf123' company > /home/back/company.bak
备份多个库(-B):
语法:mysqldump-u root -p1 -Bdb1 db2 db3 > /db123.bak
# mysqldump -uroot -p'qf123' -B company testdb > /home/back/company_testdb.bak
备份所有的库:
语法:# mysqldump-u root -p1 -A > /alldb.bak
# mysqldump -uroot -p'qf123' -A > /home/back/allbase.bak
到目录下面查看一下:
https://img-blog.csdnimg.cn/img_convert/c0830b5710a7ff717cd495a219ca9540.png
4、恢复数据库和表

为保证数据一致性,应在恢复数据之前停止数据库对外的服务,停止binlog日志 因为binlog使用binlog日志恢复数据时也会产生binlog日志。
为实行效果先将刚才备份的数据库和表删除了。登陆数据库:
# mysql -uroot -pqf123
mysql> show databases;
https://img-blog.csdnimg.cn/img_convert/83234b29f610c86371937421fde761f3.png
mysql> drop database company; mysql> \q
5、恢复库

登陆mysql创建一个库
mysql> create database company;
恢复:
# mysql -uroot -p'qf123' company < /home/back/company.bak
6、恢复表

登陆到刚才恢复的库中将其中的一个表删除掉
mysql> show databases;
mysql> use company
mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| employee5         |
| new_t1            |
| new_t2            |
+-------------------+
mysql> drop table employee5;
开始恢复:
mysql> set sql_log_bin=0;   #停止binlog日志(可选)
Query OK, 0 rows affected (0.00 sec)
mysql> source /home/back/company.employee5.bak;-------加路径和备份的文件
恢复方式二:
# mysql -u root -p1db1< db1.t1.bak
                     库名    备份的文件路径
7、备份及恢复表布局

1.备份表结构:
语法:mysqldump-uroot -p123456 -d databasename tablename > dump.sql
# mysqldump -uroot -p'qf123' -d company employee5 > /home/back/emp.bak
恢复表结构:
登陆数据库创建一个库
mysql> create database t1;
语法:# mysql -u root -p1 -D db1< db1.t1.bak
# mysql -uroot -p'qf123' -D t1 < /home/back/emp.bak
登陆数据查看:
https://img-blog.csdnimg.cn/32871b0fd2074807bf1256b43caeb396.png
8、在库里数据的导入导出。没有表布局。
表的导出和导入只备份表内记录,不会备份表布局,需要通过mysqldump备份表布局,恢复时先恢复表布局,再导入数据。
mysql> show variables like "secure_file_priv";----查询导入导出的目录。(保证数据安全做共享)
https://img-blog.csdnimg.cn/img_convert/bd20380524a2c73167063a2e1419f206.png
修改安全文件目录:
1.创建一个目录:mkdir路径目录
# mkdir /sql
2.修改权限
# chown mysql.mysql /sql
3.编辑配置文件:
vim /etc/my.cnf
在里追加
secure_file_priv=/sql
4.重新启动mysql.
1.导出数据
登陆数据查看数据
mysql> show databases;    #找到test库
mysql> use test   #进入test库
mysql> show tables;#找到它t3表
mysql> select * from t3 into outfile '/sql/test.t3.bak';
添加修饰的:
mysql> select * from t3 into outfile '/sql/test.t3.bak1' fields terminated by ',' lines terminated by '\n';
注:
fields terminated by ',' :字段以逗号分割
lines terminated by '\n':结尾换行
2.数据的导入
先将原来表里面的数据清除掉,只保留表结构
mysql> delete from t3;
mysql> load data infile '/sql/test.t3.bak' into table t3;
如果将数据导入别的表,需要创建这个表并创建相应的表结构。
二、Mysql bin-log日志恢复数据

需要开启binlog日志功能
https://img-blog.csdnimg.cn/51cb36d1dcc24272897618a4e16b5631.png
加上配置之后重启服务,使其生效
# systemctl restart mysqld
https://img-blog.csdnimg.cn/9da4b48cabe0403abb49becd7ff40167.png

mysql> flush logs;            #刷新binlog日志,使下面的语句存放到下一个binlog日志中

mysql> create table testdb.t2(id int);
https://img-blog.csdnimg.cn/8308935dfff74b56a2a27a6e1bb00ff2.png
根据位置恢复
找到要恢复的sql语句的起始位置、结束位置
# mysqlbinlog mysql-bin.000002          #查看binlog日志内容
https://img-blog.csdnimg.cn/d2107fc1c1454e968c09b0fce0c187b0.png
mysql>drop table testdb.t2(id int);             //删除表格。注意:增删改都会记录到binlog日志中。

# mysqlbinlog --start-position 219 --stop-position321 mysql-bin.000002 |mysql -uroot -p123      #恢复语句
作业:
根据binlog日志的时间点恢复
找到要恢复sql语句的起始时间、结束时间
mysqlbinlog --start-datetime=‘2019-8-21 23:55:54’ --stop-datetime=‘2019-8-21 23:56:541’ mylog.000001 | mysql -u root -p1
三、物理备份

​ percona是一家老牌的mysql技能咨询公司。它不仅提供mysql的技能支持、培训、咨询,还发布了mysql的分支版本–percona Server。并围绕percona Server还发布了一系列的mysql工具。
物理备份: 直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限定,但不能恢复到不同的MySQL版本。
1.完全备份-----完备备份:
每次都将所有数据(不管自第一次备份以来有没有修改过),进行一次完备的复制,备份后会扫除文件的存档属性,方便日后增量备份大概差异备份进行版本比较。
特点:占用空间大,备份速度慢,但恢复时一次恢复到位,恢复速度快。
2.增量备份: 每次备份上一次备份到现在产生的新数据
​ 在第一次完备备份之后,第二次开始每次都将添加了存档属性的文件进行备份,并且在备份之后再把这些存档属性扫除。为什么要扫除存档属性呢?这就是为了下一次备份的时候判断是否有文件变化,因为用户在每次备份以后修改这些被扫除存档属性的文件,存档属性就会自动加上,相当于用户告诉体系,这些文件有变化,你下一次就备份这些文件,其他没有存档属性的就不需要备份,这就是增量备份的工作机制。
特点:因每次仅备份自上一次备份(注意是上一次,不是第一次)以来有变化的文件,所 以备份体积小,备份速度快,但是恢复的时候,需要按备份时间次序,逐个备份版本进行恢 复,恢复时间长。

[*]差异备份:只备份跟完备备份不一样的
在第一次完备备份之后,第二次开始每次都将所有文件与第一次完备备份的文件做比较,把自第一次完备备份以来所有修改过的文件进行备份,且以后每次备份都是和第一次完备备份进行比较(注意是第一次,不是上一次),备份自第一次完备备份以来所有的修改过的文件。因此,差异备份在备份完毕之后不需要扫除文件的存档属性,因为这些文件和下一次备份没有什么关系,它仅仅和第一次完备备份的数据进行比较(第一次完备备份之后是扫除存档属性的)。
(相当于第一次机器人把地板打扫干净了,你踩过,就会有脚印,机器人就把脚印记录下   
   来,但不打扫,下次你又有踩脏的,机器人就把你这几次所有踩脏的地方都记录下来,始终   
   不打扫,每次都这样。机器人每次记录的内容就相当于差异备份的内容)
特点:占用空间比增量备份大,比完备备份小,恢复时仅需要恢复第一个完备版本和末了一次的差异版本,恢复速度介于完备备份和增量备份之间。
简单的讲,完备备份就是不管三七二十一,每次都把指定的备份目录完备的复制一遍,不管目录下的文件有没有变化;增量备份就是每次将之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;差异备份就是每次都将第一次完备备份以来有变化的文件进行备份。
热备份
数据库启动同时给客户端提供服务的情况下
冷备份 数据库要关掉大概不能给客户端提供服务
官网:Percona – The Database Performance Experts
1.安装xtrabackup

安装xtrabackup
# wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
# rpm -ivh percona-release-0.1-4.noarch.rpm
# vim percona-release.repo
修改如下内容:将原来的1改为0
https://img-blog.csdnimg.cn/7d2016847c7b49df938ddb366e69dc4a.png
另有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,题目不大。
对于有1-3年工作履历,想要跳槽的朋友来说,也是很好的温习资料!
【完备版领取方式在文末!!】
93道网络安全面试题
https://img-blog.csdnimg.cn/img_convert/6679c89ccd849f9504c48bb02882ef8d.png
https://img-blog.csdnimg.cn/img_convert/07ce1a919614bde78921fb2f8ddf0c2f.png
https://img-blog.csdnimg.cn/img_convert/44238619c3ba2d672b5b8dc4a529b01d.png
内容着实太多,不逐一截图了
黑客学习资源保举

末了给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小同伴们一点资助!
对于从来没有接触过网络安全的同学,我们帮你准备了具体的学习成长路线图。可以说是最科学最体系的学习路线,大家跟着这个大的方向学习准没题目。
页: [1]
查看完整版本: Linux云计算:数据备份操作详解_云计算数据实时备份,2024年最新自学网络安