【MySQL备份】Percona XtraBackup全量备份实战篇
目录
1. 前言
2.准备工作
2.1.环境信息
2.2.创建备份目录
2.3.配置/etc/my.cnf文件
2.4.授予root用户BACKUP_ADMIN权限
3.全量备份
4.准备备份
5.数据恢复
6.总结
"实战演练:利用Percona XtraBackup执行MySQL全量备份操作详解"
1. 前言
本文将继续上篇【MySQL备份】Percona XtraBackup基础篇中对Percona XtraBackup的探索,深化讨论其全量备份技术及详尽的恢复策略。本章节旨在构建一套完备的备份恢复指南,进一步巩固您的数据库安全防线,确保数据资产的万无一失。
在本篇内容中,我们将细致剖析Percona XtraBackup执行全量备份的高效实践,这一核心功能不仅能够实时捕捉数据库状态的完整映像,还依托其先进的日志处理机制,保证备份数据的绝对一致性和可靠性。您将学习到如何运用简洁明了的命令行指令,安全无碍地将数据库快照存置于指定位置,为数据保护筑起第一道坚固壁垒。
紧接着,文章将引领您步入数据恢复的精密艺术殿堂。从备份到恢复的无缝对接,是检验备份方案成色的真正试金石。我们将逐步拆解恢复流程的每一个关键环节:从安全停机、数据迁移与权限配置,到细腻的预处理步骤,直至数据库服务的顺利重启与健康状况的全面核查。每一步都精心设计,确保在面对不可预见的数据危机时,能够迅速恢复业务运营,维持数据连续性和服务稳定性。
通过本篇的深度解析,您不仅能掌握Percona XtraBackup全量备份的精髓,更能领略其在数据恢复领域的独到之处,为您的数据库管理技能树增添一份坚实保障。无论是对初学者的启蒙,还是对资深DBA的技能进阶,本篇章节均是不可或缺的知识宝典。
2.准备工作
2.1.环境信息
主机IP | 操作系统 | Mysql版本 | XtraBackup版本 |
---|---|---|---|
172.17.0.2 | CentOS Stream release 9 | 8.0.37 | 8.0.35 |
2.2.创建备份目录
mkdir -p /data/backup
2.3.配置/etc/my.cnf文件
[xtrabackup]
host=localhost
port=3306
user=root
password=123456
socket=/var/lib/mysql/mysql.sock
target_dir=/data/backup
2.4.授予root用户BACKUP_ADMIN权限
grant BACKUP_ADMIN on *.* to 'root'@'%'
LOCK INSTANCE FOR BACKUP 是MySQL 8.0引入的一种新的备份相关SQL语句,主要用于在进行数据库备份时,以一种更为细粒度和高效的方式控制对数据库实例的访问,以保证备份的一致性。这个命令的工作原理及特点如下:
目的:在执行备份操作时,此命令用于获取一个实例级别的锁,该锁允许在备份过程中继续执行DML(数据操作语言,如INSERT、UPDATE、DELETE)操作,同时防止那些可能导致数据快照不一致的DDL(数据定义语言,如CREATE、ALTER、DROP)操作和某些管理操作。这样可以在不影响数据库服务的情况下进行备份,特别适用于需要最小化服务中断的在线备份场景。
权限需求:执行LOCK INSTANCE FOR BACKUP语句需要用户具备BACKUP_ADMIN权限。这是一个专门为了备份相关的高级操作而设计的权限级别。
兼容性:此特性是在MySQL 8.0及以上版本中引入的,早于8.0的MySQL版本并不支持这一语句,因此在使用旧版本时,可能需要依赖其他机制(如FLUSH TABLES WITH READ LOCK)来确保备份的一致性。
解锁:执行备份后,需要使用UNLOCK INSTANCE语句来释放之前由LOCK INSTANCE FOR BACKUP获得的锁,从而恢复正常操作。
与传统备份命令的对比:相比于传统的备份方法,如使用FLUSH TABLES WITH READ LOCK,LOCK INSTANCE FOR BACKUP提供了更小的性能影响,因为它不会完全阻止写操作,只是限制了可能引起数据不一致的活动,更适合于高可用性和高性能要求的生产环境。
3.全量备份
登陆数据库查看现有的的数据,可以看到现在有一个tes1的库
进行全量备份,最后看到 completed OK!代表成功
xtrabackup --backup --target-dir=/data/backup --datadir=/var/lib/mysql --user=root --password=123456 --host=172.17.0.2 --port=3306
在/data/backup目录下可以看到备份的数据
登陆数据库删除tes1库
4.准备备份
使用Percona XtraBackup进行全量备份后,在某些特定场景下确实可以直接使用备份数据,但这并不意味着不需要准备备份(prepare step)。备份准备是确保数据一致性的一个重要步骤,尤其是在进行数据恢复操作之前。具体是否需要准备备份取决于你的备份目的和后续操作:
-
立即恢复: 如果你计划立即在相同或类似的MySQL环境中恢复这个备份,你应该执行备份准备步骤。这一步骤会应用未完成的事务日志(redo log),确保备份数据的一致性,并将数据文件转换成可以直接用于启动MySQL服务的状态。
xtrabackup --prepare --target-dir=<备份目录>
-
备份存档或复制: 如果你只是想创建一个备份副本用于存档或者复制到其他服务器上,理论上可以在不进行准备的情况下直接复制备份目录。但请注意,未经准备的备份在恢复时仍需经过准备步骤才能使用。
-
增量备份基础: 如果计划在这个全量备份的基础上执行增量备份,也不需要立即准备这个全量备份。增量备份会记录自上次备份以来的变化,因此全量备份保持原样即可。
总结来说,尽管在某些情况下全量备份后直接存档或作为增量备份基础可以不立即执行准备步骤,但在准备将数据用于恢复或确保数据一致性时,备份准备是必不可少的。最佳实践中,建议在备份流程中包括准备步骤,以确保备份数据随时可用于快速且可靠地恢复。
5.数据恢复
停止MySQL服务进行恢复数据
systemctl stop mysqld
rsync -avrP /data/backup/ /var/lib/mysql/
恢复数据时,一定要记得更改数据目录下的文件拥有者以及所属组权限,否则mysql无法启动
chown -R mysql:mysql /var/lib/mysql
重启数据库查看数据是否恢复,可以看到之前被删除的tes1数据库已经成功恢复
6.总结
需要注意的是,在执行恢复之前需要关闭MySQL服务器。您不能恢复到正在运行的mysqld实例的数据目录(导入部分备份时除外)。由于文件的属性将被保留,在大多数情况下,您需要mysql在启动数据库服务器之前将文件的属主和属组更改为mysql.mysql。
相关文章:
【MySQL备份】Percona XtraBackup全量备份实战篇
目录 1. 前言 2.准备工作 2.1.环境信息 2.2.创建备份目录 2.3.配置/etc/my.cnf文件 2.4.授予root用户BACKUP_ADMIN权限 3.全量备份 4.准备备份 5.数据恢复 6.总结 "实战演练:利用Percona XtraBackup执行MySQL全量备份操作详解" 1. 前言 本文…...
港口危险货物安全管理人员考试题库(含答案)
一、单选题 1.化学品安全标签内容中警示词有( )种分别进行危害程度的警示。 A、3 B、4 C、5 参考答案:A 2.运输放射性物品,应当使用( )的放射性物品运输包装容器(以下简称运输容器)。 A、专业 B、专用 C、统一 D、定制 参考答案:B 3.库区仪表及计算机监控管理系…...
什么是 JVM( Java 虚拟机),它在 Java 程序执行中扮演什么角色?
JVM,全称Java Virtual Machine,中文译作“Java虚拟机”,它是运行Java程序的软件环境,也是Java语言的核心部分之一。 想象一下,如果你是一位环球旅行家,每到一个新的国家,都需要学习当地的语言才…...
Python容器 之 列表--下标和切片
列表的切片 得到是 新的列表字符串的切片 得到是 新的字符串 如果下标 不存在会报错 list1 [1, 3.14, "hello", False] print(list1)# 获取 列表中 第一个数据 print(list1[0]) # 1# 获取列表中的最后一个数据 print(list1[-1]) # [False]# 获取中间两个数 即 3.1…...
Docker 运行Nacos无法访问地址解决方法
参考我的上一篇文章去配置好镜像加速器,镜像加速器不是配置越多越好,重试次数多了会失败 Dockerhub无法拉取镜像配置阿里镜像加速器-CSDN博客 错误的尝试 最开始按照网上的方式去配了一大堆,发现下不下来。 镜像源地址:https:…...
Stable Diffusion 商业变现与绘画大模型多场景实战
前言 ai绘画软件Stable Diffusion是一种通过模拟扩散过程,将噪声图像转化为目标图像的文生图模型,具有较强的稳定性和可控性,可以将文本信息自动转换成高质量、高分辨率且视觉效果良好、多样化的图像。在日常工作中,ai绘画软件St…...
[CocosCreator]CocosCreator网络通信:https + websocket + protobuf
环境 cocos creator版本:3.8.0 开发语言:ts 操作系统:windows http部分 直接使用 XMLHttpRequest 创建http请求 // _getHttpUrl 方法自己写字符串拼接public httpPostJsonRequest(uri: string, headData: any, data: any, cb: Function…...
并发控制-事务的调度、数据不一致问题(更新丢失、脏读、不可重复读)、非串行调度的的可串行化
一、引言 1、数据库管理系统DBMS的事务处理技术实现的另一个主要功能部分是并发控制机制。并发控制机制完成的功能就是对并发执行的事务进行控制,保证事务的隔离性,从而进一步保持数据库的一致性。 2、事务的并发控制就是对并发执行的不同事务中的数据…...
Golang | Leetcode Golang题解之第202题快乐数
题目: 题解: func isHappy(n int) bool {cycle : map[int]bool{4: true, 6: true, 37: true, 58: true, 89: true, 145: true, 42: true, 20: true}for n ! 1 && !cycle[n] {n step(n)}return n 1 }func step(n int) int {sum : 0for n > …...
算法:哈希表
目录 题目一:两数之和 题目二:判定是否互为字符重排 题目三:存在重复元素I 题目四:存在重复元素II 题目五:字母异位词分组 关于哈希表 哈希表就是存储数据的容器 哈希表的优势是:快速查找某个元素O(…...
自然语言处理基本知识(1)
一 分词基础 NLP:搭建了计算机语言和人类语言之间的转换 1 精确分词,试图将句子最精确的分开,适合文本分析 >>> import jieba >>> content "工信处女干事每月经过下属科室" >>> jieba.cut(content,cut_all …...
Java中的数据加密与安全传输
Java中的数据加密与安全传输 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨一下在Java中如何实现数据加密与安全传输。 随着互联网的普及和网络…...
UG NX二次开发(C++)-根据草图创建拉伸特征(UFun+NXOpen)
1、前言 UG NX是基于特征的三维建模软件,其中拉伸特征是一个很重要的特征,有读者问如何根据草图创建拉伸特征,我在这篇博客中讲述一下草图创建拉伸特征的UG NX二次开发方法,感兴趣的可以加入QQ群:749492565,或者在评论区留言。 2、在UG NX中创建草图,然后创建拉伸特征 …...
TS_开发一个项目
目录 一、编译一个TS文件 1.安装TypeScript 2.创建TS文件 3.编译文件 4.用Webpack打包TS ①下载依赖 ②创建文件 ③启动项目 TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或…...
2024年华为OD机试真题-传递悄悄话 -C++-OD统一考试(C卷D卷)
2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述: 给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。 初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节…...
eclipse基础工程配置( tomcat配置JRE环境)
文章目录 I eclipse1.1 工程配置1.2 编译工程1.3 添加 JRE for the project build pathII tomcat配置JRE环境2.1 Eclipse编辑tomcat运行环境(Mac版本)2.2 Eclipse编辑tomcat运行环境(windows版本)2.3 通过tomcat7W.exe配置运行环境(windows系统)I eclipse 1.1 工程配置 …...
Spring Boot 学习第八天:AOP代理机制对性能的影响
1 概述 在讨论动态代理机制时,一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理,本质上都是在原有目标对象上进行了封装和转换,这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…...
Linux[高级管理]——Squid代理服务器的部署和应用(传统模式详解)
🏡作者主页:点击! 👨💻Linux高级管理专栏:点击! ⏰️创作时间:2024年6月24日11点11分 🀄️文章质量:95分 目录 ————前言———— Squid功能 Squ…...
使用Vue 2 + Element UI搭建后台管理系统框架实战教程
后台管理系统作为企业内部的核心业务平台,其界面的易用性和功能性至关重要。Vue 2作为一个成熟的前端框架,以其轻量级和高效著称,而Element UI则是一套专为桌面端设计的Vue 2组件库,它提供了丰富的UI元素和组件,大大简…...
Carla安装教程
1.前言 对于从事自动驾驶的小伙伴而言,或多或少应该都接触过一些的仿真软件,今天要给大家介绍的这款仿真软件应该算的上是业界非常有名的一款仿真软件——carla。 目前carla的学习教程也还是蛮多的,但是写的都不是很全,在配置的…...
【PYG】处理Cora数据集分类任务使用的几个函数log_softmax,nll_loss和argmax
文章目录 log_softmax解释作用示例解释输出 nll_loss解释具体操作示例代码解释 nll_losslog_softmaxcross_entropy解释代码示例解释 argmax()解释作用示例代码解释示例输出 log_softmax F.log_softmax(x, dim1) 是 PyTorch 中的一个函数,用于对输入张量 x 应用 log…...
Labview绘制柱状图
废话不多说,直接上图 我喜欢用NXG风格,这里我个人选的是xy图。 点击箭头指的地方 选择直方图 插值选择第一个 直方图类型我选的是第二个效果如图。 程序部分如图。 最后吐槽一句,现在看CSDN好多文章都要收费了,哪怕一些简单的入…...
使用Python实现一个简单的密码管理器
文章目录 一、项目概述二、实现步骤2.1 安装必要的库2.2 设计密码数据结构2.3 实现密码加密和解密2.4 实现主要功能2.4.1 添加新密码2.4.2 显示所有密码2.4.3 查找特定密码2.4.4 更新密码2.4.5 删除密码 2.5 实现用户界面 三、代码示例3.1 加密和解密示例3.2 用户界面示例 在现…...
【云原生】服务网格(Istio)如何简化微服务通信
🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、微服务架构的兴起 2、Istio:服务网格的佼…...
spring boot 整合 sentinel
注意版本问题 我这是jdk11 、spring boot 2.7.15 、 alibaba-sentinel 2.1.2.RELEASE <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.15</version><…...
蜜雪冰城小程序逆向
app和小程序算法一样 小程序是wasm...
pbootcms提交留言成功后跳转到指定的网址
pbootcms在线留言表单提交成功后,如何跳转到指定的网址,默认提交留言后留在原来的页面,如果提交后需要跳转到指定网址,我们需要对文件进行修改。首先我们打开/core-/function/helper.php文件找到第162行左右代码: ech…...
16、matlab求导、求偏导、求定积分、不定积分、数值积分和数值二重积分
0)前言 在MATLAB中,对函数进行不同形式的求导、求积分操作是非常常见的需求,在工程、科学等领域中经常会用到。以下是关于求导、求积分以及数值积分的简介: 求导:在MATLAB中可以使用diff函数对函数进行求导操作。diff…...
MySQL 9.0创新版发布!功能又进化了!
作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…...
后端系统的安全性
后端系统的安全性 后端系统的安全性是任何Web应用或服务的核心组成部分,它涉及保护数据、用户隐私以及系统免受恶意攻击。以下是后端安全的一些关键点: 认证和授权:确保只有经过身份验证的用户才能访问特定资源。这通常包括使用用户名/密码…...
.net 百度翻译接口核心类
百度翻译api :http://developer.baidu.com/wiki/index.php?title帮助文档首页/百度翻译/翻译AP 核心翻译类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json; using System.Net; using System.I…...
安卓应用开发学习:通过腾讯地图SDK实现定位功能
一、引言 这几天有些忙,耽误了写日志,但我的学习始终没有落下,有空我就会研究《 Android App 开发进阶与项目实战》一书中定位导航方面的内容。在我的手机上先后实现了“获取经纬度及地理位置描述信息”和“获取导航卫星信息”功能后&#x…...
iptable精讲
SNAT策略 SNAT策略的典型应用环境 局域网主机共享单个公网IP地址接入Internet SNAT策略的原理 源地址转换,Source Network Address Translantion 修改数据包的源地址 部署SNAT策略 1.准备二台最小化虚拟机修改主机名 主机名:gw 主机名࿱…...
2024 年如何构建 AI 软件
人工智能 (AI) 是当今 IT 行业最热门的话题,受到大型科技公司、大型企业和投资者的青睐。如果有人不参与 AI,他们就出局了。虽然“AI 泡沫”一词尚未公开使用,但街上的每个人都可能听说过 AI 将取代我们的工作(可能不会࿰…...
Python实战,桌面小游戏,剪刀石头布
注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: Python项目开发实战_桌面小游戏-剪刀石头布_编程案例解析实例详解课程教程.pdf 创建一个基于Python的桌面小游戏“剪刀石头布”是一个很好的编程实践…...
Hadoop权威指南-读书笔记-01-初识Hadoop
Hadoop权威指南-读书笔记 记录一下读这本书的时候觉得有意思或者重要的点~ 第一章—初识Hadoop Tips: 这个引例很有哲理嘻嘻😄,道出了分布式的灵魂。 1.1 数据!数据! 这一小节主要介绍了进入大数据时代,面…...
HttpServletResponse设置headers返回,发现headers中缺少“Content-Length“和“Content-Type“两个参数。
业务中需要将用httpUtils请求返回的headers全部返回,塞到HttpServletResponse中,代码如下: HttpServletResponse response;// 返回headers Arrays.stream(httpResponse.getHeaders()).forEach(header -> response.setHeader(header.getNa…...
GraphPad Prism生物医学数据分析软件下载安装 GraphPad Prism轻松绘制各种图表
Prism软件作为一款功能强大的生物医学数据分析与可视化工具,其绘图功能尤为突出。该软件不仅支持绘制基础的图表类型,如直观明了的柱状图、展示数据分布的散点图,以及描绘变化趋势的曲线图,更能应对复杂的数据呈现需求,…...
7/1 uart
uart4.c #include "uart4.h"//UART4_RX > PB2 //UART4_TX > PG11char rebuf[51] {0}; //rcc/gpio/uart4初始化 void hal_uart4_init() {/********RCC章节初始化*******///1.使能GPIOB组控制器 MP_AHB4ENSETR[1] 1RCC->MP_AHB4ENSETR | (0x1 << 1)…...
zdppy_api+vue3+antd开发前后端分离的预加载卡片实战案例
后端代码 import api import upload import timesave_dir "uploads"async def rand_content(request):key api.req.get_query(request, "key")time.sleep(0.3)return api.resp.success(f"{key} " * 100)app api.Api(routes[api.resp.get(&qu…...
别小看手机导航,这些隐藏功能大部分人可能都不知道
在科技日新月异的今天,手机导航已经成为我们日常生活中不可或缺的一部分。它不仅仅是指引我们前往目的地的工具,更隐藏着许多黑科技功能,极大地丰富了我们的出行体验。 今天,让我们一起探索手机导航中那些鲜为人知却大有用处的隐…...
Lua实现链表(面向对象应用)
Lua实现面向对象 面向对象核心三要素Lua面向对象大致原理面向对象示例继承与多态示例 面向对象核心三要素 1.封装:对一个事物的抽象为一些属性和行为动作的集合,封装将属性和行为动作(操作数据的方法)绑定在一起,并隐藏…...
每隔一个小时gc一次的问题
原文地址https://www.cnblogs.com/jiangxinlingdu/p/7581064.html 设置一下这个 -XX:ExplicitGCInvokesConcurrent 或 -XXExplicitGCInvokesConcurrentAndUnloadsClasses 并且检查一下,并下面的值设置变大 java.rmi.dgc.leaseValue sun.rmi.dgc.client.gcInterv…...
VBA数据库解决方案第十二讲:如何判断数据库中数据表是否存在
《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...
五、Spring IoCDI ★ ✔
5. Spring IoC&DI 1. IoC & DI ⼊⻔1.1 Spring 是什么?★ (Spring 是包含了众多⼯具⽅法的 IoC 容器)1.1.1 什么是容器?1.1.2 什么是 IoC?★ (IoC: Inversion of Control (控制反转))总…...
计算机网络八股文
计算机网络体系架构? OSI结构:理论上的 7应用层:定义了应用进程间通信和交互的规则,常见协议有HTTP、SFTP、DNS、WebSocket6表示层:数据的表示、安全、压缩。确保一个系统的应用层所发消息能被另一个系统的应用层读取…...
科普文:一文搞懂jvm原理(四)运行时数据区
概叙 科普文:一文搞懂jvm(一)jvm概叙-CSDN博客 科普文:一文搞懂jvm原理(二)类加载器-CSDN博客 科普文:一文搞懂jvm原理(三)执行引擎-CSDN博客 前面我们介绍了jvm,jvm主要包括两个子系统和两个组件: Class loader(类…...
《昇思25天学习打卡营第5天|数据变换 Transforms》
文章目录 前言:今日所学:1. Common Transforms2. Vision Transforms3. Text Transforms 前言: 我们知道在进行神经网络训练的时候,通常要将原始数据进行一系列的数据预处理操作才会进行训练,所以MindSpore提供了不同类…...
详细分析Oracle修改默认的时间格式(四种方式)
目录 前言1. 会话级别2. 系统级别3. 环境配置4. 函数格式化5. 总结 前言 默认的日期和时间格式由参数NLS_DATE_FORMAT控制 如果需要修改默认的时间格式,可以通过修改会话级别或系统级别的参数来实现 1. 会话级别 在当前会话中设置日期格式,这只会影响…...
以 Vue 3 项目为例,你是否经常遇到 import 语句顺序混乱的问题?要想解决它其实很容易!
大家好,我是CodeQi! 在项目开发过程中,我们经常会遇到项目中的 import 语句顺序混乱的问题。 这不仅会影响代码的可读性,还可能使我们代码在提交的时候产生不必要的冲突。 面对这种情况,要想解决它其实很容易。 通过合理的规范和自动化工具,我们可以确保 import 语句…...
彻底解决Path with “WEB-INF“ or “META-INF“: [WEB-INF/views/index.jsp]
背景描述 项目使用的是springboot2jsp的架构。以前好好的项目复制了一份,然后就无法访问报错。百度了好久都乱七八糟的,还没有解决问题。错误消息如下: 2024-07-05 15:45:51.335 INFO [http-nio-12581-exec-1]org.springframework.web.ser…...
忘记家里的wifi密码用iPhone苹果手机怎么找回?
忘记家里的wifi密码用iPhone苹果手机怎么找回? 1、打开iPhone苹果手机上的设置; 2、在iPhone苹果手机设置里找到并进入无线局域网; 3、选择要找回密码的wifi,且已连接,并点击后面的更多进入; 4、进入无线局…...
Python面试题:解释一下什么是 Python 的 GIL(全局解释器锁)
Python的GIL(Global Interpreter Lock,全局解释器锁)是CPython解释器中的一个机制,它限制了在任何给定的时刻只有一个线程能够执行Python字节码。这意味着,即使在多核处理器上,Python程序也不能通过多线程实…...
[Vite]vite-plugin-react和vite-plugin-react-swc插件原理了解
[Vite]vite-plugin-react和vite-plugin-react-swc插件原理了解 共同的作用 JSX 支持:插件为 React 应用程序中的 JSX 语法提供支持,确保它可以被正确地转换为 JavaScript。Fast Refresh:提供热更新功能,当应用程序在开发服务器上…...
关于多人开发下git pull报错代码冲突问题的解决方案
关于多人开发下git pull报错代码冲突问题的解决方案 问题描述 最近多人开发项目习惯性先 git pull 来更新代码的时候,遇到了下面的问题:error: Your local changes to the following files would be overwritten by merge: Please, commit your change…...
GPT对话代码库——HAL库下 USART 的配置及问题(STM32G431CBT6)
目录 1,问: 1,答: 示例代码 正确的HAL库初始化方式 自定义初始化方式(不推荐) 总结 2,问: 2,答: 代码详细解释 初始部分 主初始化部分 初始化调用…...
固态电池量产加速,我们离电动车新时代还有多远?
随着一则确定性很强的不确定性消息不胫而走,固态电池又一次成为目光焦点!5月29日,《中国日报》报道称,中国或投入约60亿元,鼓励有条件的企业对全固态电池相关技术开展研发,宁德时代、比亚迪、一汽、上汽、卫蓝新能源和吉利共六家企业或获得政府基础研发支持。多位知情人士…...
领克07EM-P,一款以豪华舒适为核心理念的汽车,好车值得买
领克07EM-P,一款以豪华舒适为核心理念的汽车,将百万豪车的享受带入了每一个驾驶者的生活。领克07不仅拥有豪华的座椅,真皮包装,还具有加热、通风、按摩等功能,让你在驾驶的过程中享受到无与伦比的舒适感。首先,领克07EM-P的座椅设计充满了人性化的考量。豪华的真皮包装,…...
如何让你的网站能通过域名访问
背景 当我们租一台云服务器,并在上面运行了一个Web服务,我们可以使用云服务器的公网IP地址进行访问,如下: 本文主要记录如何 实现让自己的网站可以通过域名访问。 买域名 可以登录腾讯云等主流公有云平台的,购买域名…...
[Leetcode LCR 106.判断二分图]
LCR 106. 判断二分图 - 力扣(LeetCode) 超时代码: class Solution {public:int work1[110] {0};int work2[110] {0};bool divide(vector<vector<int>>& graph, int n){bool judge false;if(n > graph.size()){for(in…...
LeetCode 每日一题 数学篇 2651.计算列车到站时间
给你一个正整数 arrivalTime 表示列车正点到站的时间(单位:小时),另给你一个正整数 delayedTime 表示列车延误的小时数。 返回列车实际到站的时间。 注意,该问题中的时间采用 24 小时制。 int findDelayedArrivalTi…...
Modbus TCP转Profinet网关测试配置案例
本案例采用XD-ETHPN20网关做为Modbus TCP通信协议设备与Profinet通信协议设备连接的桥梁。Modbus TCP是一种基于TCP/IP协议的工业通信协议,而Profinet则是用于太网通信的协议。Modbus TCP转Profinet网关可实现这两种不同协议之间的数据交换和传输,极大地…...