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

MYSQL-数据恢复与备份

个人主页:java之路-CSDN博客(期待您的关注)

目录

数据的重要性与备份恢复的意义

MySQL 备份大揭秘

备份类型大盘点

备份工具展示台

备份实操全流程

MySQL 恢复大作战

恢复原理深剖析

恢复方法大集合

实战案例大放送

备份与恢复的最佳实践

备份策略制定法

备份管理小贴士

恢复演练的重要性


数据的重要性与备份恢复的意义

在数字化时代,数据已然成为企业和个人最为宝贵的资产之一。对于企业而言,数据是运营的核心与基石,涵盖了客户信息、财务数据、供应链详情、知识产权以及商业机密等关键内容 。客户信息能够助力企业精准把握客户需求、偏好,进而制定个性化的营销策略,提升客户满意度与忠诚度;财务数据如实反映企业的财务状况和经营成果,为企业的战略决策、投资规划提供关键依据;供应链数据保障企业生产、采购、销售等环节的顺畅运作,实现成本的有效控制与效率的显著提升;知识产权和商业机密则是企业在激烈市场竞争中脱颖而出的核心竞争力,关乎企业的生存与发展。一旦这些数据丢失,企业将面临财务损失、声誉受损、客户流失以及违反法律法规等严峻后果。以金融行业为例,客户的账户信息、交易记录等数据若发生丢失或泄露,不仅会使客户遭受经济损失,还会引发客户对金融机构的信任危机,导致客户大量流失,金融机构还可能因违反相关法律法规而面临巨额罚款。

对于个人来说,数据同样至关重要,包含个人财务、健康状况、重要文档以及珍贵的回忆等。个人财务数据如银行账户信息、投资记录等,直接关系到个人的财产安全;健康数据能帮助个人了解自身身体状况,为医疗诊断和健康管理提供依据;重要文档可能是工作成果、学术研究等,对个人的职业发展和学术成就意义重大;而照片、视频等承载着个人珍贵回忆的数据,一旦丢失,将给个人带来难以弥补的遗憾。比如,个人的电子相册中存储着多年来与家人、朋友的美好回忆,若因数据丢失而无法找回,将是莫大的损失。

而 MySQL 作为一款广泛应用的开源关系型数据库管理系统,在数据存储和管理领域占据着举足轻重的地位。无论是小型企业的业务数据管理,还是大型互联网公司的海量数据处理,MySQL 都凭借其高性能、可靠性和灵活性,成为众多开发者和企业的首选。因此,MySQL 数据的备份与恢复就显得尤为关键,它是保障数据安全的最后一道防线,当出现数据丢失或损坏时,能够通过备份快速恢复数据,确保业务的连续性和稳定性,将损失降到最低。

MySQL 备份大揭秘

备份类型大盘点

在 MySQL 的世界里,备份类型主要分为物理备份和逻辑备份,它们各有千秋,适用于不同的场景。

物理备份,简单来说,就是对 MySQL 数据库的物理文件进行直接备份,这些物理文件涵盖了数据文件、日志文件以及配置文件等 。物理备份又可细分为冷备份和热备份。冷备份是在数据库完全停止运行的状态下进行的备份操作。这种方式的优点显而易见,操作简单且速度较快,因为只需将数据目录下的文件进行复制即可,并且不需要对数据库表进行锁定。例如,当数据库规模较小,停机时间在可接受范围内,且备份频率不高时,冷备份就是一个不错的选择。以一家小型电商企业为例,其数据库数据量不大,每天业务结束后,有 1 - 2 小时的系统维护时间,这时就可以利用这段时间进行冷备份。而热备份则是在数据库正常运行的情况下进行的备份,它的优势在于无需停止数据库服务,能在数据库运行时完成备份工作。不过,热备份需要借助专门的工具,如 Percona XtraBackup 或 MySQL Enterprise Backup。对于大型数据库而言,无法承受长时间停机,热备份就成为了必然之选,像大型互联网电商平台,全年无休,24 小时不间断运营,就必须采用热备份方式来保障数据安全。

逻辑备份,则是通过 SQL 语句的形式来备份数据库的结构和数据。最常用的工具当属 mysqldump。它在备份时会生成 SQL 文件,这个文件中包含了创建数据库、表以及插入数据的 SQL 语句。逻辑备份的灵活性很高,可以在不同的 MySQL 版本和平台上进行恢复,还能有选择性地备份特定的数据库或表。当需要在不同平台之间迁移数据,或者数据量不大,能够接受较慢的备份和恢复速度,又或者需要进行细粒度的备份和恢复时,逻辑备份就派上用场了。比如,一家软件开发公司,需要将开发环境中的 MySQL 数据库迁移到测试环境,就可以使用逻辑备份来完成。

对比两者,物理备份在备份和恢复速度上通常优于逻辑备份,因为物理备份只是简单的文件复制,而逻辑备份需要生成和执行大量的 SQL 语句。但逻辑备份更具灵活性,可跨平台恢复,还能按需选择备份内容 。在数据一致性方面,物理备份,尤其是热备份,能够保证数据的一致性,而逻辑备份在长时间的备份过程中,由于数据可能不断变化,存在丢失数据一致性的风险。

备份工具展示台

  1. mysqldump:作为 MySQL 自带的逻辑备份工具,mysqldump 功能强大且易于使用。它本质上是将数据库的结构和数据导出为 SQL 脚本文件。在实际应用中,它的优点十分突出,无论数据库采用何种存储引擎,都能使用 mysqldump 进行备份,并且可以在线运行,无需停止 MySQL 服务。同时,它还具备很高的灵活性,支持备份整个数据库、单个数据库或特定的表,通过各种选项还能控制导出的数据格式、编码等。例如,使用mysqldump -u username -p database_name > backup.sql命令,就能轻松将指定数据库备份为 SQL 文件。不过,它也存在一些缺点,对于大数据集,备份和恢复的速度相对较慢,这是因为它需要将数据转换为 SQL 语句并写入文件,过程较为繁琐。而且,导出的 SQL 文件通常比原始数据大,占用更多的存储空间,在备份过程中,如果不使用--single-transaction选项,还可能出现事务一致性问题,导致数据不一致。
  1. Percona XtraBackup:这是一款开源的备份工具,专门为 MySQL 及其分支(如 Percona Server 和 MariaDB)数据库设计。它最大的特点是支持在线热备份,即在不中断数据库操作的情况下执行备份,这对于需要保证数据库持续可用的场景至关重要。Percona XtraBackup 能够确保数据的一致性和可恢复性,它的工作原理是利用重做日志(Redo Log)来记录数据更改。在备份时,它会记录当前的日志序列号(LSN),复制 InnoDB 数据文件和重做日志,通过持续监视重做日志的更改,确保捕捉到从备份开始到结束的所有数据变化。备份完成后,在 “准备” 阶段将重做日志中的更改应用到数据文件,保证数据的一致性。它还支持增量备份,基于上一次备份的 LSN,仅备份发生变化的数据,大大减少了备份时间和存储空间。此外,它在备份过程中对数据库性能的影响较小,适用于高可用环境和大型数据库的备份需求。但对于新手来说,其配置和使用可能需要一定的学习时间,在某些复杂环境中,如多源复制或非常大的数据库场景下,配置和使用可能会较为复杂。
  1. MySQL Enterprise Backup:这是 MySQL 官方推出的商业备份解决方案。它支持热备份,在备份期间能尽可能减少对数据库活动的阻塞,采用多线程技术并结合 InnoDB 的元组锁定机制,创建一致性备份。它还支持增量与差异备份,基于 Redo Log 的增量备份方式,仅备份自上次备份以来更改的数据,有效减少备份时间和存储空间。同时,它具备内置压缩功能,有助于减小备份文件体积,并且支持对备份数据进行加密,提高数据安全性。此外,用户可以根据实际需求设定备份范围(数据库、表级别)、并行度、压缩等级等参数,适应不同场景下的备份需求,还提供详尽的日志记录和报告功能,便于运维人员分析备份状态和性能表现。然而,使用 MySQL Enterprise Backup 需要付费获取,这在一定程度上限制了其应用范围。

备份实操全流程

为了更直观地了解 MySQL 备份操作,下面以一个名为 “example_db” 的数据库为例,分别演示使用不同工具进行全量备份和增量备份的详细步骤。

  1. 使用 mysqldump 进行全量备份
  • 打开命令行终端,输入以下命令:mysqldump -u root -p example_db > /backup/example_db_full_backup.sql,其中-u指定用户名,-p表示输入密码,example_db是要备份的数据库名称,/backup/example_db_full_backup.sql是备份文件的存储路径及文件名。
  • 按回车键后,系统会提示输入密码,输入正确密码后,mysqldump 工具开始工作,将 “example_db” 数据库的结构和数据导出为 SQL 文件,并保存到指定路径。
  1. 使用 mysqldump 进行增量备份(结合二进制日志)
  • 首先,确保 MySQL 开启了二进制日志功能,在 MySQL 配置文件(通常是my.cnf或my.ini)中,添加或修改以下配置:

[mysqld]

log-bin=mysql-bin

binlog-format=ROW

server_id=1

  • 重启 MySQL 服务使配置生效。
  • 进行全量备份,执行命令:mysqldump -u root -p --single-transaction --master-data=2 --flush-logs example_db > /backup/example_db_full_backup.sql,--single-transaction选项用于保证事务一致性,--master-data=2会在备份文件中记录二进制日志文件及位置点信息,--flush-logs用于刷新二进制日志。
  • 假设全量备份完成后,记录下当前的二进制日志文件名和位置。后续进行增量备份时,执行命令:mysqlbinlog --start-position=上次记录的位置 二进制日志文件名 > /backup/example_db_incremental_backup.sql,将自上次全量备份以来的二进制日志内容解析为 SQL 语句,保存为增量备份文件。
  1. 使用 Percona XtraBackup 进行全量备份
  • 安装 Percona XtraBackup 工具(以 Linux 系统为例),可通过官方提供的安装包进行安装。
  • 执行全量备份命令:innobackupex --user=root --password=your_password /backup,其中--user指定用户名,--password指定密码,/backup是备份文件的存储目录。执行该命令后,Percona XtraBackup 会在指定目录下创建一个时间戳目录,用于存储备份文件。
  1. 使用 Percona XtraBackup 进行增量备份
  • 首先进行一次全量备份,如上述步骤。
  • 假设全量备份目录为/backup/20240101_120000(时间戳目录),执行增量备份命令:innobackupex --user=root --password=your_password --incremental /backup/incremental --incremental-basedir=/backup/20240101_120000,--incremental表示进行增量备份,/backup/incremental是增量备份文件的存储目录,--incremental-basedir指定基于的全量备份目录。这样,Percona XtraBackup 会根据全量备份和数据变化情况,生成增量备份文件并存储到指定目录。

MySQL 恢复大作战

恢复原理深剖析

MySQL 数据恢复的核心原理在于利用备份文件和日志文件,将数据库恢复到特定的时间点或状态。不同的备份类型,其恢复机制也有所不同。

对于物理备份,以热备份为例,在恢复时,首先会将备份的物理文件(如数据文件、日志文件等)复制回 MySQL 的数据目录。由于热备份过程中记录了重做日志(Redo Log)的更改,恢复时会根据这些记录,将备份结束后到故障发生前的数据变化重新应用到数据文件中,从而保证数据的完整性和一致性。例如,在备份过程中,数据库进行了一些数据插入和更新操作,这些操作记录在重做日志中,恢复时就会按照日志中的记录,将这些插入和更新操作再次执行,使数据库恢复到最新的状态。

逻辑备份的恢复原理则是通过执行备份文件中生成的 SQL 语句来重建数据库结构和数据。当使用 mysqldump 工具进行备份后,恢复时,数据库会逐行执行备份文件中的 SQL 语句,先创建数据库和表结构,然后插入数据,从而恢复整个数据库。例如,备份文件中包含了创建 “users” 表的 SQL 语句以及插入用户数据的语句,恢复时就会先执行创建表的语句,然后执行插入数据的语句,将 “users” 表及其数据恢复到数据库中。

恢复方法大集合

  1. 基于 mysqldump 备份的恢复:如果是使用 mysqldump 进行的全量备份,恢复操作相对简单。首先,确保 MySQL 服务处于运行状态,然后打开命令行终端,输入命令mysql -u root -p \u003c /backup/example_db_full_backup.sql,其中-u指定用户名,-p输入密码,/backup/example_db_full_backup.sql是备份文件的路径。执行该命令后,MySQL 会读取备份文件中的 SQL 语句,并依次执行,从而将 “example_db” 数据库恢复到备份时的状态。如果是增量备份,恢复时需要先恢复全量备份,再按照顺序依次恢复各个增量备份。例如,先执行全量备份的恢复命令,然后执行mysql -u root -p \u003c /backup/example_db_incremental_backup.sql,将增量备份的内容恢复到数据库中。
  2. 基于 Percona XtraBackup 备份的恢复:对于使用 Percona XtraBackup 进行的全量备份恢复,首先要将备份文件恢复到 MySQL 的数据目录。执行命令innobackupex --copy-back --target-dir=/backup/20240101_120000,其中--copy-back表示将备份文件复制回数据目录,/backup/20240101_120000是全量备份文件所在的目录。复制完成后,需要修改数据目录的权限,确保 MySQL 服务能够访问,执行命令chown -R mysql:mysql /var/lib/mysql,然后重启 MySQL 服务,使恢复生效。如果是增量备份恢复,需要先恢复全量备份,然后再将增量备份应用到全量备份上。例如,先执行全量备份的恢复步骤,然后执行innobackupex --apply-log --redo-only --target-dir=/backup/20240101_120000,对全量备份进行预处理,接着执行innobackupex --apply-log --target-dir=/backup/20240101_120000 --incremental-dir=/backup/incremental,将增量备份应用到全量备份中,最后再将处理后的备份文件复制回数据目录并重启 MySQL 服务。

实战案例大放送

  1. 误删表场景:假设在 “example_db” 数据库中,不小心误删了名为 “orders” 的表。如果之前使用 mysqldump 进行了全量备份,那么可以通过以下步骤恢复:首先,确认备份文件的位置,假设备份文件为/backup/example_db_full_backup.sql。然后,停止当前正在进行的任何数据库操作,以防止数据进一步变化。接着,打开命令行终端,输入mysql -u root -p \u003c /backup/example_db_full_backup.sql,执行恢复命令。恢复完成后,连接到 MySQL 数据库,使用SHOW TABLES命令查看,会发现 “orders” 表已成功恢复。
  2. 服务器故障场景:若服务器突然发生硬件故障,导致 MySQL 数据库无法正常启动,数据丢失。在这种情况下,如果之前使用 Percona XtraBackup 进行了定期备份,就可以利用备份来恢复数据。首先,更换故障硬件,确保服务器能够正常运行,然后安装好 MySQL 服务。接下来,将最近一次的全量备份文件(假设为/backup/20240101_120000)恢复到 MySQL 的数据目录,执行innobackupex --copy-back --target-dir=/backup/20240101_120000命令。如果有增量备份,按照前面介绍的增量备份恢复步骤,将增量备份应用到全量备份上。完成后,修改数据目录权限并重启 MySQL 服务,数据库即可恢复到故障前的状态,业务也能继续正常运行。

备份与恢复的最佳实践

备份策略制定法

制定合理的备份策略是保障数据安全的关键。首先,要依据业务需求和数据特点来确定备份频率。对于数据变化频繁、业务连续性要求极高的应用,如电商平台的交易数据,可能需要进行实时备份或每小时进行一次增量备份,以确保在数据丢失时能最大程度减少损失。而对于数据相对稳定的场景,如一些历史数据存档库,每天或每周进行一次全量备份即可满足需求。

在备份方式的选择上,也需综合考量多种因素。如果数据量较小,且对备份的灵活性要求较高,逻辑备份(如使用 mysqldump)是不错的选择,它能方便地备份特定的数据库、表或数据子集,并且可以在不同平台和 MySQL 版本间进行恢复。而对于大型数据库,物理备份(如 Percona XtraBackup)则更具优势,其备份和恢复速度快,对数据库性能的影响相对较小,尤其适用于高并发的生产环境。在实际应用中,还可以采用全量备份与增量备份相结合的方式,在每周或每月进行一次全量备份的基础上,每天进行增量备份,这样既能保证数据的完整性,又能有效减少备份时间和存储空间的占用。

备份管理小贴士

备份文件的妥善管理同样不容忽视。在存储方面,备份文件应存储在安全可靠的位置,如独立的存储设备、网络附加存储(NAS)或云存储服务。将备份文件存储在异地,能有效防止因本地灾难(如火灾、地震等)导致备份文件和原始数据同时丢失的情况。在命名规范上,备份文件的命名应包含关键信息,如数据库名称、备份时间、备份类型等,以便于识别和管理。例如,“example_db_full_20240101.sql” 表示 2024 年 1 月 1 日对 “example_db” 数据库进行的全量备份。同时,要定期检查备份文件的完整性和可用性,可通过恢复测试来验证备份文件是否能够正常恢复数据,确保在需要时备份文件能够发挥作用。

恢复演练的重要性

定期进行恢复演练是保障数据恢复成功的重要手段。恢复演练能够帮助我们验证备份策略的有效性,检查备份文件的完整性和恢复流程的正确性。通过演练,还可以发现备份和恢复过程中可能存在的问题,如备份文件损坏、恢复命令错误、恢复时间过长等,并及时进行调整和优化。演练的方法可以模拟各种实际场景,如数据丢失、误操作、服务器故障等,按照预定的恢复流程进行恢复操作,并记录恢复过程和结果。在演练过程中,要注意演练环境应尽量与生产环境一致,包括硬件配置、软件版本、数据库设置等,以确保演练结果的真实性和可靠性。同时,演练结果应进行详细的分析和总结,针对发现的问题制定改进措施,不断完善备份和恢复方案。

相关文章:

MYSQL-数据恢复与备份

个人主页:java之路-CSDN博客(期待您的关注) 目录 数据的重要性与备份恢复的意义 MySQL 备份大揭秘 备份类型大盘点 备份工具展示台 备份实操全流程 MySQL 恢复大作战 恢复原理深剖析 恢复方法大集合 实战案例大放送 备份与恢复的最佳实践 备份策略制定法 …...

【Java】实现后端请求接口

【Java】实现后端请求接口 【一】使用 HttpURLConnection 实现四种请求方式的示例【1】Get请求【2】POST请求【3】PUT请求【4】DELETE 请求【5】汇总工具类,通过传参实现4种请求 【二】HttpClient 实现四种请求方式的示例【1】GET请求【2】POST 请求【3】PUT 请求【…...

人工智能之深度学习的革命性突破

深度学习的革命性突破 深度学习是机器学习的一个子领域,通过模拟人脑神经网络的结构和功能,实现对复杂数据的高效处理。近年来,深度学习在计算机视觉、自然语言处理、语音识别等领域取得了革命性突破。本文将深入探讨深度学习的核心架构、突…...

JavaScript document.write()介绍(直接将内容写入HTML文档的早期方法,已逐渐被现代DOM操作方法取代)

文章目录 **一、基本语法****二、核心功能**1. **在文档加载阶段写入**2. **文档加载后调用会导致覆盖****三、注意事项**1. **覆盖风险**2. **性能问题**3. **XSS 漏洞**4. **已关闭的文档流** **四、使用场景(不推荐,但需了解)****五、现代…...

mybatis-plus逆向code generator pgsql实践

mybatis-plus逆向code generator pgsql实践 环境准备重要工具的版本供参考pom依赖待逆向的SQL 配置文件CodeGenerator配置类配置类说明 环境准备 重要工具的版本 jdk1.8.0_131springboot 2.7.6mybatis-plus 3.5.7pgsql 14.15 供参考pom依赖 <?xml version"1.0&quo…...

【二叉树学习7】

力扣236.二叉树的最近公共祖先 链接: link 思路 要找p&#xff0c;q的公共祖先&#xff0c;可以从下往上遍历二叉树&#xff0c;而二叉树的后序遍历是天然的从下往上遍历。这题采用的是递归的方法&#xff0c;递归结束条件就是root为null或者rootp或者rootq就结束递归。 然后…...

LabVIEW显微镜成像偏差校准

在高精度显微镜成像中&#xff0c;用户常常需要通过点击图像的不同位置&#xff0c;让电机驱动探针移动到指定点进行观察。然而&#xff0c;在实际操作中&#xff0c;经常会遇到一个问题&#xff1a;当点击位于图像中心附近的点时&#xff0c;探针能够相对准确地定位&#xff1…...

什么是弧形光源

工业检测中的弧形光源是一种专门设计用于机器视觉和自动化检测的照明设备,通常用于提供均匀、高对比度的照明,以增强图像采集质量,便于检测系统识别和分析目标物体的特征。以下是关于工业检测弧形光源的详细介绍: 特点 1均匀照明: 弧形设计能够提供均匀的漫反射光,减少阴…...

Linux性能分析工具Trace使用

Linux Trace是⼀种⽤于抓取和分析系统运⾏时信息的⼯具。允许开发⼈员跟踪和分析系统的各种活动,以便深⼊了解系统的性能、⾏为和故障。下⾯是关于Linux Trace数据抓取的说明: 1. 数据抓取范围:Linux Trace可以抓取各种级别的数据,包括系统级别、进程级别和内核级别的数据。…...

【Apache Paimon】-- 作为一名小白,如何系统地学习 Apache paimon?

目录 一、整体规划 1. 了解基本概念与背景 2. 学习资料的选择 3. 学习路径与规划 4. 学习建议 5. 注意事项 6. 参考学习资料 二、详细计划 阶段 1&#xff1a;了解基础&#xff08;1-2 周&#xff09; 阶段 2&#xff1a;深入掌握核心功能&#xff08;3-4 周&#xf…...

Vue2组件通信

目录 【props】【$emit】【Event Bus】【provide和inject】【Vuex】 【props】 父组件通过props向子组件传递数据&#xff1b; <!-- 父组件 --> <template><ChildComponent :message"parentMessage" /> </template> <script> import…...

HarmonyOS:使用List实现分组列表(包含粘性标题)

一、支持分组列表 在列表中支持数据的分组展示&#xff0c;可以使列表显示结构清晰&#xff0c;查找方便&#xff0c;从而提高使用效率。分组列表在实际应用中十分常见&#xff0c;如下图所示联系人列表。 联系人分组列表 在List组件中使用ListItemGroup对项目进行分组&#…...

纪念日倒数日项目的实现-【纪念时刻-时光集】

纪念日/倒数日项目的实现## 一个练手的小项目&#xff0c;uniappnodemysql七牛云。 在如今快节奏的生活里&#xff0c;大家都忙忙碌碌&#xff0c;那些具有特殊意义的日子一不小心就容易被遗忘。今天&#xff0c;想给各位分享一个“纪念日”项目。 【纪念时刻-时光集】 一…...

Kafka知识点总结

一、概述 &#xffe5;1. 推拉模式 pull&#xff08;拉&#xff09;模式&#xff1a;consumer采用从broker中主动拉取数据&#xff0c;不足之处是如果没有数据&#xff0c;消费者可能会陷入循环中&#xff0c;一直返回空数据。push&#xff08;推&#xff09;模式&#xff1a…...

[AI]从零开始的llama.cpp部署与DeepSeek格式转换、量化、运行教程

一、前言 在上一次的DeepSeek的部署教程中&#xff0c;我们使用Ollama与LM Studio很轻松的部署了DeepSeek并且也完成了相关API的调用&#xff0c;如果还有不会的小伙伴请看下面的教程&#xff1a; DeepSeek本地部署&#xff1a;[AI]从零开始的DeepSeek本地部署及本地API调用教…...

#define宏与编译时定义的本质对决:从const常量到typedef的类型安全演进

目录 一、#define宏与const常量的本质差异&#xff1a;从文本替换到类型安全的编程抉择 1. 预处理阶段的文本替换&#xff08;#define&#xff09; 2. 编译时的类型安全&#xff08;const&#xff09; 3. 跨文件访问的限制 4. 代码示例对比 5. 最佳实践 总结表 二、类型…...

【天地图】绘制、删除点线面

使用天地图绘制、删除点线面 实现效果图地图组件完整代码使用地图组件完整代码 实现效果图 地图组件完整代码 // 天地图组件 <template><div class"map-container"><div id"mapCon"></div></div> </template><scri…...

2025年:边缘计算崛起下运维应对新架构挑战

一、引言 随着科技的飞速发展&#xff0c;2025年边缘计算正以前所未有的速度崛起&#xff0c;给运维行业带来了全新的架构挑战。在这个充满机遇与挑战的时代&#xff0c;美信时代公司的美信监控易运维管理软件成为运维领域应对这些挑战的有力武器。 二、边缘计算崛起带来的运维…...

【docker知识】快速找出服务器中占用内存较高的容器

本文由Markdown语法编辑器编辑完成。 1.背景&#xff1a; 近期在处理现场问题&#xff0c;观察服务器时&#xff0c;会遇到某些进程占用较高内存的情况。由于我们的服务&#xff0c;基本上都是以容器的方式在运行&#xff0c;因此就需要找到&#xff0c;到底是哪个容器&#…...

SQL联合查询

文章目录 MySQL系列&#xff1a;1.内连接2.外连接3.自连接4.子查询5.合并查询6.插入查询 MySQL系列&#xff1a; 初识MySQL&#xff0c;MySQL常用数据类型和表的操作&#xff0c;增删改查(CRUD)操作(总),数据库约束数据库设计 #班级表 drop table if exists class; create ta…...

cameralib 安装

目录 linux安装&#xff1a; 测试安装是否成功&#xff1a; linux安装&#xff1a; pip install githttps://github.com/isarandi/cameralib.git pip install githttps://github.com/isarandi/boxlib.git pip install githttps://github.com/isarandi/poseviz.git githttps…...

Windows软件自动化利器:pywinauto python

Pywinauto WindowsAPP UI自动化 Windows软件自动化利器&#xff1a;pywinauto python...

清华大学《DeepSeek:从入门到精通》

近日&#xff0c;清华大学新闻与传播学院新媒体研究中心元宇宙文化实验室发布了由余梦珑博士后及其团队撰写的《DeepSeek&#xff1a;从入门到精通》手册。这份长达104页的指南&#xff0c;旨在帮助用户全面掌握国产通用人工智能平台DeepSeek的核心功能与应用技巧。 DeepSeek简…...

网易易盾接入DeepSeek,数字内容安全“智”理能力全面升级

今年农历新年期间&#xff0c;全球AI领域再度掀起了一波革命性浪潮&#xff0c;国产通用大模型DeepSeek凭借其强大的多场景理解与内容生成能力迅速“出圈”&#xff0c;彻底改写全球人工智能产业的格局。 作为国内领先的数字内容风控服务商&#xff0c;网易易盾一直致力于探索…...

天童美语:观察你的生活

在孩子的认知里&#xff0c;世界宛如一片充满神秘色彩的未知之境&#xff0c;有着无尽的奥秘等待他们去探索。家长们&#xff0c;引导孩子用心观察世界&#xff0c;领略其中的美妙&#xff0c;这对孩子的成长进程有着极为关键的作用。贵阳天童教育相信&#xff1a;观察生活&…...

易仓科技ai面试

请解释PHP中的面向对象编程的基本概念&#xff0c;并举例说明如何在PHP中定义一个类。 回答思路&#xff1a;需理解类、对象、继承和多态等基本概念&#xff0c;并能通过实例代码展示如何定义类及其属性和方法。 . 类&#xff08;Class&#xff09; 类是一个封装了数据和操作…...

MySQL-SQL

1.客户端内置命令 客户端内置命令客户端独有&#xff0c;可能不同数据库产品的客户端内置命令存在很大差异&#xff0c;不像SQL命令有标准规范。 help \h ? \? 这四个命令都可以输出帮助文档查看客户端内置命令 &#xff1f;&#xff08;\&#xff1f;&#xff09;“帮助”…...

基础连接已经关闭: 服务器关闭了本应保持活动状态的连接

您在进行 HTTP 请求时遇到“基础连接已经关闭: 服务器关闭了本应保持活动状态的连接”的错误&#xff0c;这通常与连接的保持活动&#xff08;Keep-Alive&#xff09;设置有关。以下是可能的原因和解决方法&#xff1a; 可能的原因&#xff1a; Keep-Alive 设置&#xff1a; 默…...

【React组件通讯双重视角】函数式 vs 类式开发指南

目录 前言 正文 父组件向子组件传值 函数式写法 类式写法 子组件向父组件传值 函数式写法 类式写法 兄弟组件通信 函数式写法 类式写法 跨层级通信&#xff08;使用Context&#xff09; 函数式写法 类式写法 进阶通讯方式&#xff08;补充说明&#xf…...

开源项目Perplexica-master

一个和https://www.perplexity.ai/差不多的开源项目 大模型的key可以用groq的&#xff0c;免费&#xff08;https://console.groq.com/keys&#xff09;&#xff0c;有速率限制 项目clone后&#xff0c;修改配置&#xff0c;项目根目录config.toml 填写对应的大模型的key就行…...

数值积分:通过复合梯形法计算

在物理学和工程学中&#xff0c;很多问题都可以通过数值积分来求解&#xff0c;特别是当我们无法得到解析解时。数值积分是通过计算积分区间内离散点的函数值来近似积分的结果。在这篇博客中&#xff0c;我将讨论如何使用 复合梯形法 来进行数值积分&#xff0c;并以一个简单的…...

DeepSeek全生态接入指南:官方通道+三大云平台

DeepSeek全生态接入指南&#xff1a;官方通道三大云平台 一、官方资源入口 1.1 核心交互平台 &#x1f5a5;️ DeepSeek官网&#xff1a; https://chat.deepseek.com/ &#xff08;体验最新对话模型能力&#xff09; 二、客户端工具 OllamaChatboxCherry StudioAnythingLLM …...

shell脚本的一些学习笔记----(三)流程控制

1.条件判断 if单条件判断 if [ 条件判断式 ] then 语句块 fi 案例1&#xff1a;统计根分区使用率 [rootlocalhost ~]$ vi sh/if1.sh #!/bin/bash #把根分区使用率作为变量值赋予变量rate rate$(df -h | grep "/dev/sda1" | awk {print $5}’| cut -d "%"-f…...

Docker Desktop WebAPI《1》

方法1 》》生成 的文档不要动&#xff0c; 》》执行 Container&#xff08;Dockerfile&#xff09; 会生成镜像文件和容器 》》生成的镜像和容器 在 Docker Desktop 中可以查看 用VS 的 Container Dockerfile 调试 但把这个调试工工具 停止&#xff0c;WebAPi就不能访问了 …...

Linux驱动层学习:LED 驱动开发

前置知识&#xff1a; 1、地址映射 MMU 全称叫做 Memory Manage Unit&#xff0c;也就是内存管理单元。 MMU 主要完成的功能如下&#xff1a; ①、完成虚拟空间到物理空间的映射。 ②、内存保护&#xff0c;设置存储器的访问权限&#xff0c;设置虚拟存储空间的缓冲特性。 第…...

全面解析鸿蒙(HarmonyOS)开发:从入门到实战,构建万物互联新时代

文章目录 引言 一、鸿蒙操作系统概述二、鸿蒙开发环境搭建三、鸿蒙核心开发技术1. **ArkUI框架**2. **分布式能力开发**3. **原子化服务与元服务** 四、实战案例&#xff1a;构建分布式音乐播放器五、鸿蒙开发工具与调试技巧六、鸿蒙生态与未来展望结语 引言 随着万物互联时代…...

zyNo.23

SQL注入漏洞 1.SQL语句基础知识 一个数据库由多个表空间组成&#xff0c;sql注入关系到关系型数据库&#xff0c;常见的关系型数据库有MySQL,Postgres,SQLServer,Oracle等 以Mysql为例&#xff0c;输入 mysql-u用户名-p密码 即可登录到MySQL交互式命令行界面。 既然是…...

调用DeepSeek API接口:实现智能数据挖掘与分析

在当今数据驱动的时代&#xff0c;企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台&#xff0c;提供了强大的API接口&#xff0c;帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用DeepSeek API接口&…...

【Linux】Ubuntu Linux 系统——Node.js 开发环境

ℹ️大家好&#xff0c;我是练小杰&#xff0c;今天星期五了&#xff0c;同时也是2025年的情人节&#xff0c;今晚又是一个人的举个爪子&#xff01;&#xff01; &#x1f642; 本文是有关Linux 操作系统中 Node.js 开发环境基础知识&#xff0c;后续我将添加更多相关知识噢&a…...

Redis7——基础篇(一)

前言&#xff1a;此篇文章系本人学习过程中记录下来的笔记&#xff0c;里面难免会有不少欠缺的地方&#xff0c;诚心期待大家多多给予指教。 基础篇&#xff1a; Redis&#xff08;一&#xff09; 一、Redis定义 官网地址&#xff1a;Redis - The Real-time Data Platform R…...

MySQL查看存储过程和存储函数

【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...

js实现点击音频实现播放功能

目录 1. HTML 部分&#xff1a;音频播放控件 2. CSS 部分&#xff1a;样式设置 3. JavaScript 部分&#xff1a;音频控制 播放和暂停音频&#xff1a; 倒计时更新&#xff1a; 播放结束后自动暂停&#xff1a; 4. 总结&#xff1a; 完整代码&#xff1a; 今天通过 HTML…...

Ubuntu安装docker:docker-desktop : 依赖: docker-ce-cli 但无法安装它、无法定位软件包 docker-ce-cli

具体错误 sudo apt-get install ./docker-desktop-amd64.deb [sudo] password for weiyu: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 注意&#xff0c;选中 docker-desktop 而非 ./docker-desktop-amd64.de…...

免费deepseek的API获取教程及将API接入word或WPS中

免费deepseek的API获取教程: 1 https://cloud.siliconflow.cn/中注册时填写邀请码&#xff1a;GAejkK6X即可获取2000 万 Tokens; 2 按照图中步骤进行操作 将API接入word或WPS中 1 打开一个word&#xff0c;文件-选项-自定义功能区-勾选开发工具-左侧的信任中心-信任中心设置…...

华为交换机堆叠配置

华为交换机堆叠&#xff08;Stack&#xff09;技术是一种将多台物理交换机虚拟化为单一逻辑设备的高可靠性解决方案&#xff0c;可简化网络管理、提升带宽利用率并增强冗余能力。 一、堆叠的核心概念 堆叠系统组成&#xff1a;主交换机&#xff08;Master&#xff09;&#xf…...

基于Java SpringBoot以及vue前后端分离的旅游景区网站系统设计与实现

基于Java SpringBoot以及vue前后端分离的旅游景区网站系统设计与实现 本项目是一款基于Spring Boot和Vue.js开发的旅游景区管理系统&#xff0c;前端合后端的架构&#xff0c;支持用户在线浏览景区信息、预订门票&#xff0c;并提供完善的后台管理功能&#xff0c;包括订单管理…...

DeepSeek教unity------MessagePack-04

Union 联合 MessagePack for C# 支持序列化接口类型和抽象类类型的对象。它的行为类似于 XmlInclude 或 ProtoInclude。在 MessagePack for C# 中&#xff0c;这些被称为Union。只有接口和抽象类可以被 Union 属性注解。需要唯一的联合键。 /******************************…...

侯捷 C++ 课程学习笔记:C++ 新标准 11/14 的革新与实战应用

在侯捷老师的 C 系列课程中&#xff0c;《C 新标准 11/14》这门课程让我对现代 C 编程有了全新的认识。C11 和 C14 是 C 语言发展史上的重要里程碑&#xff0c;它们引入了大量新特性&#xff0c;极大地提升了语言的表达能力和开发效率。侯捷老师通过深入浅出的讲解和丰富的实战…...

MATLAB图像处理:Sobel、Roberts、Canny等边缘检测算子

边缘是图像中像素值剧烈变化的区域&#xff0c;反映了目标的轮廓、纹理等关键信息。边缘检测是图像分割、目标识别等任务的基础。本文将系统解析 六种经典边缘检测算子 的数学原理、实现方法及适用场景&#xff0c;并给出完整的MATLAB代码示例和对比分析。 1. 边缘检测基础 1…...

Python Pandas(7):Pandas 数据清洗

数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况&#xff0c;如果要使数据分析更加准确&#xff0c;就需要对这些没有用的数据进行处理。数据清洗与预处理的常见步骤&#xff1a; 缺失值处理&#xff1a;识别并…...