当前位置: 首页 > news >正文

MySQL 日志管理、备份与恢复

目录

1 数据备份的重要性

2 MySQL 日志管理

​3 备份类型

3.1 数据备份的分类

3.2 备份方式比较

3.3 合理值区间

3.4 常见的备份方法

4 MySQL 完全备份与恢复

4.1 MySQL 完全备份

5 mysqldump 备份与恢复

5.1 MySQL 完全恢复

6 MySQL 增量备份与恢复

6.1 MySQL 增量恢复


1 数据备份的重要性

在企业中,数据的价值至关重要,数据保障了企业业务的正常运行。因此,数据的安全性及数据的可靠性是运维的重中之重,任何数据的丢失都可能对企业产生严重的后果。
1、备份的主要目的是灾难恢复
2、在生产环境中,数据的安全性至关重要
3、任何数据的丢失都可能产生严重的后果
4、造成数据丢失的原因

通常情况下,造成数据丢失的原因通常有以下几种:

①程序错误
②人为操作错误
③运算错误
④磁盘故障
⑤灾难(火灾、地震)and 盗窃(黑客攻击)

2 MySQL 日志管理

MySQL 的日志默认保存位置为 /usr/local/mysql/data

vim /etc/my.cnf
[mysqld]
##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
log-error=/usr/local/mysql/data/mysql_error.log					#指定日志的保存位置和文件名##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log##二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
log-bin=mysql-bin				#也可以 log_bin=mysql-bin##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5												#设置超过5秒执行的语句被记录,缺省时为10秒

systemctl restart mysqldmysql -u root -p
show variables like 'general%';			  #查看通用查询日志是否开启show variables like 'log_bin%';			  #查看二进制日志是否开启show variables like '%slow%';		      #查看慢查询日功能是否开启show variables like 'long_query_time';	  #查看慢查询时间设置set global slow_query_log=ON;			  #在数据库中设置开启慢查询的方法

3 备份类型
 

3.1 数据备份的分类
 

从物理与逻辑的角度分类可以分为:物理备份、逻辑备份。
1.物理备份对数据库操作系统的物理文件(如数据文件、日志文件等)的备份
物理备份方法:
①.冷备份(脱机备份):是在关闭数据库的时候进行的。
②热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件。
③温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作。

2.逻辑备份对数据库逻辑组件(如:表等数据库对象)的备份。表示为逻辑数据库结构
这种类型的备份适用于可以编辑数据值或表结构 。

从数据库的备份策略角度,备份分类可以分为:完全备份、差异备份、增量备份

完全备份: 每次对数据进行完整的备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。完全备份的备份与恢复操作都非常简单方便,但是数据存在大量的重复,并且会占用大量的磁盘空间,备份的时间也很长。

差异备份: 备份那些自从上次完全备份之后被修改过的所有文件,备份的时间节点是从上次完整备份起,备份数据量会越来越大。恢复数据时,只需恢复上次的完全备份与最近的一次差异备份。

增量备份: 只有在上次完全备份或者增量备份后被修改的文件才会被备份。以上次完整备份或上次增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份开始到最后一次增量备份之的所有增量依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。

3.2 备份方式比较

备份方式 完全备份 差异备份 增量备份
完全备份时的状态 表1、表2 表1、表2 表1、表2
第1次添加内容 创建表3 创建表3 创建表3
备份内容 表1、表2、表3 表3 表3
第2次添加内容 创建表4 创建表4 创建表4
备份内容 表1、表2、表3、表4 表3、表4 表4

逻辑备份的策略(增、全、差异)
如何选择逻辑备份策略(频率)
 

3.3 合理值区间
 

一周一次的全备,全备的时间需要在不提供业务的时间区间进行 PM 10点 AM 5:00之间进行全备
增量:3天/2天/1天一次增量备份
差异:选择特定的场景进行备份
一个处理(NFS)提供额外空间给与mysql 服务器用

3.4 常见的备份方法

1、物理冷备
物理冷备份时需要在数据库处于关闭状态下,能够较好地保证数据库的完整性。
物理冷备份一般用于非核心业务,这类业务一般都允许中断。
物理冷备份的特点就是速度快,恢复时也是最为简单的。
通常通过直接打包(tar-cf)数据库文件夹(/usr/local/mysql/data)来实现备份。

2、专用备份工具mydump或者mysqlhotcopy:
①mysqldump程序和mysqlhotcopy都可以做备份。
②mysqldump是客户端常用逻辑备份程序,能够产生一组被执行以后再现原始数据库对象定义和表数据的SQL语句。它可以转储一个到多个MySQL数据库,对其进行备份或传输到远程SQL服务器。mysqldump更为通用,因为它可以备份各种表。
③mysqlhotcopy仅适用于某些存储引擎(MyISAM和ARCHIVE)。
3、启用二进制日志进行增量备份:
①进行增量备份,需要刷新二进制日志
②mysql支持增量备份,进行增量备份时必须启用二进制日志。
二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。
如果进行增量备份(包含自上次完全备份或增量备份以来发生的数据修改) ,需要刷新二进制日志

4、通过第三方工具备份:
使用免费的第三方Percona xtraBackup热备份软件,支持在线热备份Innodb和xtraDB,也可以支持MySQL表备份,不过MyISAM表的备份要在表锁的情况下进行。

MySQL 完全备份与恢复

create database class;
use class;
create table if not exists info1 (
id int(4) not null auto_increment,
name varchar(10) not null,
sex char(10) not null,
hobby varchar(50),
primary key (id));insert into info1 values(1,'cyw','male','running');
insert into info1 values(2,'cxz','female','singing');

4.1 MySQL 完全备份

InnoDB存储引擎的数据库在磁盘上存储成三个文件:db.opt(表属性文件)、表名.frm(表结构文件)、表名.ibd(表数据文件)。

1.物理冷备份与恢复

压缩备份

tar Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data/
systemctl stop mysqld  #命令来停止 mysqld 进程yum -y install xz      #安装 xz 压缩工具,xz 是一种高效的压缩工具,可以将文件压缩到很小的体积。

压缩备份

tar Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data/

数据丢失模拟

解压恢复

mv /usr/local/mysql/data/ ~
tar Jxvf /opt/mysql_all_2023-09-24.tar.xz
mv /opt/usr/local/mysql/data/ /usr/local/mysql/

5 mysqldump 备份与恢复

(1)完全备份一个或多个完整的库(包括其中所有的表)

mysqldump -u root -p[密码] --databases 库名1 [库名2] … > /备份路径/备份文件名.sql

#导出的就是数据库脚本文件 例

mysqldump -u root -p --databases class > /opt/class.sql
mysqldump -u root -p --databases mysql class > /opt/mysql-class.sql

(2)完全备份 MySQL 服务器中所有的库

mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql

例:

mysqldump -u root -p --all-databases > /opt/all.sql

(3)完全备份指定库中的部分表

mysqldump -u root -p[密码] 库名 [表名1] [表名2] … > /备份路径/备份文件名.sql

例:

 mysqldump -u root -p [-d] class info1 info2 > /opt/class_info1.sql #使用“-d”选项,说明只保存数据库的表结构 #不使用“-d”选项,说明表数据也进行备份

(4)查看备份文件

grep -v "^--" /opt/kgc_info1.sql | grep -v "^/" | grep -v "^$"

5.1 MySQL 完全恢复

systemctl start mysqld

 数据库丢失模拟

(1)恢复数据库

mysql -u root -p < /opt/class.sql
mysql -u root -p -e 'SHOW DATABASES;

(2)恢复数据表

 当备份文件中只包含表的备份,而不包含创建的库的语句时,执行导入操作时必须指定库名,且目标库必须存在。        

mysqldump -u root -p class info1 > /opt/class_info1.sqlmysql -u root -p -e 'drop table class.info1;'
mysql -u root -p -e 'show tables from class;'mysql -u root -p class < /opt/class_info1.sql
mysql -u root -p -e 'show tables from class;'

6 MySQL 增量备份与恢复

(1)开启二进制日志功能

vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
binlog_format = MIXED				#可选,指定二进制日志(binlog)的记录格式为 MIXED
server-id = 1

二进制日志(binlog)有3种不同的记录格式:STATEMENT(基于SQL语句)、ROW(基于行)、MIXED(混合模式),默认格式是STATEMENT

systemctl start mysqld
ls -l /usr/local/mysql/data/mysql-bin.*

(2)可每周对数据库或表进行完全备份

mysqldump -u root -p class info1 > /opt/class_info1_$(date +%F).sql
mysqldump -u root -p --databases class > /opt/class_$(date +%F).sql

(3) 可每天进行增量备份操作,生成新的二进制日志文件(例如 mysql-bin.000002)

mysqladmin -u root -p flush-logs

(4)插入新数据,以模拟数据的增加或变更

use class;
insert into info1 values(3,'user3','male','game');
insert into info1 values(4,'user4','female','reading');

(5)再次生成新的二进制日志文件(例如 mysql-bin.000003)

mysqladmin -u root -p flush-logs

#之前的步骤4的数据库操作会保存到mysql-bin.000002文件中,之后数据库数据再发生变化则保存在mysql-bin.000003文件中

(6)查看二进制日志文件的内容

mysqlbinlog --no-defaults --base64-output=decode-rows -v /usr/local/mysql/dada/mysql-bin.000002#--base64-output=decode-rows:使用64位编码机制去解码并按行读取
#-v:显示详细内容

6.1 MySQL 增量恢复

1.一般恢复

(1)模拟丢失更改的数据的恢复步骤

use class;
delete from info1 where id=3;
delete from info1 where id=4;

mysqlbinlog --no-defaults /opt/mysql-bin.000002 | mysql -u root -p

(2)模拟丢失所有数据的恢复步骤

use class;
drop table info1;mysql -u root -p class < /opt/class_info1_2023-09-24.sql
mysqlbinlog --no-defaults /usr/local/mysql/data/mysql-bin.000002 | mysql -u root -p

2.断点恢复

mysqlbinlog --no-defaults --base64-output=decode-rows -v /usr/local/mysql/data/mysql-bin.000002
例:at 302#201122 16:41:16
插入了“user3”的用户数据at 623#201122 16:41:24
插入了“user4”的用户数据(1)基于位置恢复
#仅恢复到操作 ID 为“623”之前的数据,即不恢复“user4”的数据
mysqlbinlog --no-defaults --stop-position='623' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p#仅恢复“user4”的数据,跳过“user3”的数据恢复
mysqlbinlog --no-defaults --start-position='623' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p(2)基于时间点恢复
#仅恢复到 16∶41∶24 之前的数据,即不恢复“user4”的数据
mysqlbinlog --no-defaults --stop-datetime='2020-11-22 16:41:24' /usr/local/mysql/data/mysql-bin.000002 |mysql -uroot -p#仅恢复“user4”的数据,跳过“user3”的数据恢复
mysqlbinlog --no-defaults --start-datetime='2020-11-22 16:41:24' /usr/local/mysql/data/mysql-bin.000002 |mysql -uroot -p如果恢复某条SQL语句之前的所有数据,就stop在这个语句的位置节点或者时间点
如果恢复某条SQL语句以及之后的所有数据,就从这个语句的位置节点或者时间点start

相关文章:

MySQL 日志管理、备份与恢复

目录 1 数据备份的重要性 2 MySQL 日志管理 ​3 备份类型 3.1 数据备份的分类 3.2 备份方式比较 3.3 合理值区间 3.4 常见的备份方法 4 MySQL 完全备份与恢复 4.1 MySQL 完全备份 5 mysqldump 备份与恢复 5.1 MySQL 完全恢复 6 MySQL 增量备份与恢复 6.1 MySQL 增量…...

vtk- 数据类型(一) 三角链实例代码

三角链实例代码 #include <iostream> #include <string> #include <regex> #include "tuex.h" #include "vtkCylinderSource.h" #include "vtkPolyDataMapper.h" #include "vtkActor.h" #include "vtkRendere…...

Git大全

目录 一、Git概述 1.1Git简介 1.2Git工作流程图 1.3查看Git的版本 1.4 Git 使用前配置 1.5为常用指令配置别名&#xff08;可选&#xff09; 1.5.1打开用户目录&#xff0c;创建 .bashrc 文件 1.5.2在 .bashrc 文件中输入如下内容&#xff1a; 1.5.3打开gitBash&#xff0c;执行…...

Touch命令使用指南:创建、更新和修改文件时间戳

文章目录 教程&#xff1a;touch命令的使用指南一、介绍1.1 什么是touch命令&#xff1f;1.2 touch命令的作用1.3 touch命令的语法 二、基本用法2.1 创建新文件2.2 更新文件时间戳2.3 创建多个文件2.4 修改文件访问时间2.5 修改文件修改时间2.6 修改文件创建时间 三、高级用法3…...

Windows开启 10 Telnet

在Windows 10中&#xff0c;Telnet客户端默认是不安装的。要在Windows 10上使用Telnet客户端&#xff0c;您需要手动启用它。以下是启用Telnet客户端的步骤&#xff1a; 打开控制面板。您可以通过在开始菜单中搜索"控制面板"来找到它。在控制面板中&#xff0c;选择…...

高教杯数学建模A题程序设计要点与思路

2023 年是我最后一次参加 高教杯大学生数学建模竞赛 以后不会再参加了&#xff08;大四参加意义不太&#xff0c;研究生有研究生的数学建模大赛&#xff09; 很遗憾 由于各种原因 我们没有能够完成赛题2022 年 美赛 2022年 Mathor Cup 2022 年国赛 2022 亚太杯 2023年 美赛 202…...

Spring Boot的新篇章:探索2.0版的创新功能

文章目录 引言1. Spring Boot 2.0的响应式编程2. 自动配置的改进3. Spring Boot 2.0的嵌入式Web服务器4. Spring Boot 2.0的Actuator端点5. Spring Boot 2.0的Spring Data改进6. Spring Boot 2.0的安全性增强7. Spring Boot 2.0的监控和追踪8. Spring Boot 2.0的测试改进结论 &…...

5、SpringBoot_热部署

六、热部署 1.热部署概述 概述&#xff1a;程序更改后&#xff0c;不需要重新启动服务器也能够实现动态更新 springboot 项目如何实现热部署&#xff1f; tomcat 已经内置到项目容器中了希望tomcat监听外部程序变化通过新建一个程序来监控你代码的变化 2.依赖导入 依赖 <…...

【kohya】训练自己的LoRA模型

文章目录 序言准备环境准备图片处理图片下载kohya_ss代码修改pyvenv.cfg启动界面访问地址生成字幕准备训练的文件夹配置训练参数开始训练遇到的问题&#xff1a; 序言 在把玩stable diffusion的webUI和comfyUI后&#xff0c;思考着自己也微调一个个性化风格的checkpoint、LyCO…...

[尚硅谷React笔记]——第1章 React简介

目录&#xff1a; 第1章 React简介 React的基本使用:虚拟DOM的两种创建方式&#xff1a; 使用jsx创建虚拟DOM使用js创建虚拟DOM(一般不用)虚拟DOM与真实DOM:React JSX:JSX练习&#xff1a;模块与组件、模块化与组件化的理解 模块组件模块化组件化 第1章 React简介 中文官网: …...

Debezium系列之:快照参数详解

Debezium系列之:快照参数详解 一、snapshot.select.statement.overrides二、min.row.count.to.stream.results三、snapshot.delay.ms四、snapshot.fetch.size五、snapshot.lock.timeout.ms六、incremental.snapshot.allow.schema.changes七、incremental.snapshot.chunk.size八…...

redis单机版搭建

title: “Redis单机版搭建” createTime: 2022-01-04T20:43:1108:00 updateTime: 2022-01-04T20:43:1108:00 draft: false author: “name” tags: [“redis”] categories: [“install”] description: “测试的” redis单机版搭建 安装环境 redis版本redis-5.0.7虚拟机系统…...

物联网边缘网关

物联网边缘网关 边缘网关的定义边缘网关的分类边缘计算网关平台相关产品有哪些 百度边缘计算平台(BIE)华为边缘计算平台(IEF)产品应用拓扑图产品价格区间...

docker部署springboot程序时遇到的network问题

对应问题&#xff0c;因为刚开始接触docker&#xff0c;所以问题可能比较简单&#xff0c;但是做个记录 1、启动一个springboot项目获取本地ip的时候获取到的是172.17.0.x这个ip&#xff1b;在使用一些注册中心&#xff0c;mq的时候又要表明自己的本机器ip的时候会比较头疼&…...

RASP hook插桩原理解析

javaagent技术&#xff0c;实现提前加载类字节码实现hook&#xff0c;插桩技术 javassist技术ASM字节码技术 像加载jar&#xff0c;有两种方式 premain启动前加载&#xff1a;每次变动jar包内容&#xff0c;都需要进行重启服务器利用java的动态attch加载原理&#xff0c;采用pr…...

Pygame中Sprite的使用方法6-5

3 碰撞检测 蓝色方块会随着鼠标移动&#xff0c;当碰到绿色方块时&#xff0c;则当前分数加1&#xff0c;当碰到红色方块时&#xff0c;当前分数减1。因为要随时进行碰撞检测&#xff0c;因此需要在while True循环中实现以下功能。 3.1 蓝色方块随鼠标移动 将蓝色方块的位置…...

浅谈为什么多态只能是指针或引用

其实在很早之前&#xff0c;我一直没有注意到这个问题&#xff0c;直到今天碰见了一道题&#xff0c;顺便前面的博客中&#xff0c;继承写到&#xff0c;子类中不包含父类&#xff0c;子类只是继承了父类的成员变量和函数&#xff0c;由这一点&#xff0c;引发了我对切片以及赋…...

js看代码说输出

目录 原型 Function与Object new fn() 原型链 constructor function.length 默认参数:第一个具有默认值之前的参数个数 剩余参数&#xff1a;不算进length 闭包 循环中 函数工厂&#xff1a;形参传递 IIFE&#xff1a;匿名闭包 let&#xff1a;闭包 forEach()&am…...

Java笔记:使用javassist修改class文件内方法

1.前言 在工作突然有一个需求。线上运维的一个tomcat的web项目&#xff0c;运行的程序不正常。需要修改代码。可是这个项目代码非常的老&#xff0c;并且公司存储的源代码跟线上的不一致。 我了个擦&#xff0c;没有源代码但是还要结局客户的问题。只能到线上将对应程序的clas…...

华为云云耀云服务器L实例评测 |云服务器性能评测

通过上一篇文章华为云云耀云服务器 L 实例评测 &#xff5c;云服务器选购&#xff0c;我已经购买了一台 Centos 系统的云耀云服务器 L 实例。 在获得云耀云服务器 L 实例后&#xff0c;首要任务是熟悉云耀云服务器 L 实例的性能&#xff0c;对云耀云服务器 L 实例的性能进行测…...

iphone的safari浏览器实现全屏的pwa模式,并修改顶部状态栏背景颜色

要想修改顶部背景颜色&#xff0c;需要用到这个属性&#xff1a;content就是你要设置的颜色 <!-- 状态栏的背景色 --><meta name"theme-color" content"#f8f8f8" /> 然后再加上下面的设置&#xff1a; <!-- 网站开启对 web app 程序的支持…...

springboot对接rabbitmq并且实现动态创建队列和消费

背景 1、对接多个节点上的MQ&#xff08;如master-MQ&#xff0c;slave-MQ&#xff09;&#xff0c;若读者需要自己模拟出两个MQ&#xff0c;可以部署多个VM然后参考 docker 安装rabbitmq_Steven-Russell的博客-CSDN博客 2、队列名称不是固定的&#xff0c;需要接受外部参数&…...

Spring的后处理器-BeanFactoryPostprocessor

目录 Spring后处理器 Bean工厂后处理器-BeanFactoryPostProcessor 修改beanDefinition对象 添加beanDefiniton对象 方法一 方法二 自定义Component Spring后处理器 Spring后处理器是Spring对外开放的重要拓展点&#xff08;让我们可以用添加自己的逻辑&#xff09;&…...

Flutter 必备知识点

Flutter 升级 确保在项目根目录下&#xff08;含有 pubspec.yaml 的文件夹&#xff09; 在命令行中输入命令&#xff1a; flutter channel输出&#xff1a; Flutter channels: * mastermainbetastable这个可以在 pubspec.yaml 中查看&#xff1a; 切换分支也很简单&#xf…...

什么是FMEA(失效模式和影响分析)?

失效模式和影响分析&#xff08;FMEA&#xff09;是一个在开发阶段&#xff0c;用于确定产品或流程可能的风险和失败点的有条理的过程。FMEA团队会研究失效模式&#xff0c;也就是产品或流程中可能出错的地方&#xff0c;以及这些失效可能带来的影响&#xff08;如风险、损害、…...

Redis面试题(三)

文章目录 前言一、怎么理解 Redis 事务&#xff1f;二、Redis 事务相关的命令有哪几个&#xff1f;三、Redis key 的过期时间和永久有效分别怎么设置&#xff1f;四、Redis 如何做内存优化&#xff1f;五、Redis 回收进程如何工作的&#xff1f;六、 加锁机制总结 前言 怎么理…...

Python错误处理指南:优雅应对异常情况

目录 一. 异常是什么&#xff1f;二. 使用 try 和 except三. 捕获多个异常四. 使用 else五. 使用 finally六. 自定义异常七.Python中常见异常处理类型八.Python中常见异常处理实例九.异常处理最佳实践十.结论 当编写Python代码时&#xff0c;错误处理是一个重要的方面&#xff…...

MySQL学习笔记12

MySQL 查询语句&#xff1a; 1、查询五子句&#xff1a;&#xff08;重点&#xff09; mysql> select */字段列表 from 数据表名称 where 子句 group by 子句 having 子句 order by 子句 limit 子句; 1&#xff09;where 子句&#xff1b;条件筛选。 2&#xff09;group…...

【owt】构建m79的owt-client-native:使用vs2017

家里电脑换成了台式机,拷贝代码发现了三年前的owt客户端mfc工程。 不用下载第三方库,试着构建下: owt-client-native 我这里有3年前的代码,思索了下还是用vs2017构建吧: 重新构建一下 选用x86 的 vs2017 vs的命令行控制台 cls可以清理屏幕 之前构建过vs2022的webrtc原版 …...

Cpp/Qt-day020918Qt

目录 完善登录框 点击登录按钮后&#xff0c;判断账号&#xff08;admin&#xff09;和密码&#xff08;123456&#xff09;是否一致&#xff0c;如果匹配失败&#xff0c;则弹出错误对话框&#xff0c;文本内容“账号密码不匹配&#xff0c;是否重新登录”&#xff0c;给定两…...

织梦网站文章内容模板/北京网站优化校学费

本节目标&#xff1a; 1.掌握流的概念2.掌握字节流与字符流的作用3.掌握文件的标准操作步骤4.掌握字节与字符的操作的区别字节流和字符流之间的相互转换&#xff1a; 参考文章&#xff0c;点击这里 1. 流 在程序中&#xff0c;所有的数据都是以流的方式进行传输和保存的&am…...

做淘宝客网站需要多大带宽/查关键词

网慧天下科技为大家讲解网络建设&#xff0c;希望大家能够喜欢。网站建设在经过一番努力之后就可以开始慢慢准备上线工作了&#xff0c;但是在上线之前必须要先对网站做一次整体测试工作&#xff0c;具体测试哪些方面可能有些站长对此比较迷茫&#xff0c;当然最好的测试方法就…...

都江堰网站建设/杭州网站优化服务

VR视频是VR技术和全景拍摄技术的综合应用。VR视频能720度全方位记录场景实况&#xff0c;用户可以通过手机身临其境般进行线上体验&#xff0c;让用户能够更加全面的观赏拍摄场景。并且可以自主调整观看角度&#xff0c;带来更好的沉浸感和体验。相信许多朋友一定很好奇VR视频是…...

海南seo外包/搜索引擎优化

转载于&#xff1a;https://blog.csdn.net/prokgtfy9n18/article/details/68962512 在数组运算前&#xff0c;先了解一下数组的解引用到底是怎么回事。 #include <windows.h>#include <stdio.h>int main(){int arr[] {1,2,3,4,5,6,7,8,9,0};printf("%d\n&quo…...

.net最新网站开发/无锡营销型网站建设

前言 是不是有很多小伙伴在做接口自动化的时候&#xff0c;大量的测试用例数据&#xff0c;写的即枯燥&#xff0c;有乏味呢&#xff1f; 那么下面你们的福利来啦~本文章会基于 mitmproxy python 做代理拦截&#xff0c;将我们拦截到的接口请求&#xff0c;转换成 .yaml 格式…...

怎样给自己的网站做防红连接/网络营销官网

有这么一个快倒闭的商城&#xff0c;他们老板找了一个程序员&#xff0c;搞了一个消费返利的一个活动&#xff0c;通过这个活动&#xff0c;让他们濒临破产的商城从亏损到月销售额达到1400多万。他们到底是通过一个什么样的活动来实现“起死回生”的呢&#xff1f;今天给大家带…...