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

【MySQL】我在广州学Mysql 系列—— 数据备份与还原

ℹ️大家好,我是练小杰,今天周一,过两天就是元宵节了,今年元宵节各位又要怎么过呢!!
本文主要对Mysql数据库中的数据备份与还原内容进行讨论!!
回顾:👉【MySQL用户管理实例】
数据库专栏:👉【数据库专栏】【Mysql练习题】
想了解更多,主页: 【练小杰的CSDN】

在这里插入图片描述

文章目录

  • 数据备份
    • 备份的类型
    • `mysqldump`命令备份
    • 直接复制整个数据库目录
      • 步骤1:停止 MySQL 服务
      • 步骤 2:找到 MySQL 数据目录
      • 步骤 3:复制数据库目录
      • 步骤 4:启动 MySQL 服务
      • 步骤 5:恢复数据库
    • mysqlhotcopy工具快速备份
    • mysqlpump工具备份
  • 数据还原
    • 使用mysql基础命令还原
    • 直接复制到数据库目录实现还原
      • 步骤3:复制备份文件到 MySQL 数据目录
      • 验证还原
    • mysqlhotcopy快速恢复
      • 安装 mysqlhotcopy
  • 数据库迁移
    • 相同版本的MySQL数据库之间的迁移
    • 不同版本的MySQL数据库之间的迁移
      • 迁移前的准备
      • 迁移步骤
    • 不同数据库之间迁移
      • 实例:从MySQL迁移到`ORACLE`
  • 数据表的导出和导入
    • `SELECT…INTO OUTFILE`导出文本文件
    • `mysqldump`命令导出文本文件
    • mysql基础命令导出文本文件
    • `LOAD DATA INFILE`方式导入文本文件
    • `mysqlimport`命令导入文本文件
  • 综合案例—数据的备份与恢复
    • mysqldump命令备份
    • mysql命令还原数据
    • SELECT… INTO OUTFILE语句导出数据
    • LOAD DATA INFILE语句导入
    • musqldump命令导出

在这里插入图片描述

数据备份

在数据库运维中,备份是防止数据丢失和系统故障时快速恢复数据的重要手段。数据被誉为“21世纪的黄金”,在数字经济时代,数据已经成为一种核心生产要素。
数据的价值不仅在于其本身的数量和质量,更在于如何通过数据挖掘和分析来获取洞察,以驱动业务的全流程。

备份的类型

  1. 物理备份

定义:直接复制数据库的物理文件和目录,通常是二进制文件,无法进行编辑。
优点:备份和恢复速度快,但只能在相同的MySQL版本和架构之间进行恢复。
适用场景:适用于大数据量的备份,如TB、PB级别。
工具:常见的物理备份方法包括使用文件系统级别的备份工具(如rsync、tar、cp、scp)以及使用MySQL Enterprise Backup等专用工具或系统快照方式。

  1. 逻辑备份

定义:导出数据库的逻辑结构和数据,通常以SQL语句的形式保存。
优点:备份文件可以跨数据库管理系统进行恢复,具有良好的可移植性,适合数据迁移和跨平台备份。
适用场景:适用于数据量较小的备份,如MB、GB级别。
工具:常用的逻辑备份工具包括mysqldump和mysqlpump。

  1. 完全备份

即备份整个数据库的所有数据,简单直接,适合需要定期备份的用户。

  1. 增量备份

定义:只备份自上次备份以来发生变化的数据。
优点:备份速度快,占用存储空间少,适合频繁备份的场景。

  1. 差异备份

定义:备份自上次完全备份以来发生变化的数据。
优点:恢复简单,适合在完全备份的基础上进行。

mysqldump命令备份

mysqldump是MySQL提供的一个非常有用的数据库备份工具。mysqldump命令执行时,可以将数据库备份成一个文本文件,该文件中实际上包含了多个CREATE和INSERT语句,使用这些语句可以重新创建表和插入数据。

  • 备份整个数据库
mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件.sql]
  • 备份单个表
mysqldump -u [用户名] -p[密码] [数据库名] [表名] > [备份文件.sql]
  • 备份多个数据库
mysqldump -u [用户名] -p[密码] --databases [数据库1] [数据库2] > [备份文件.sql]
  • 备份所有数据库
mysqldump -u [用户名] -p[密码] --all-databases > [备份文件.sql]
  • 备份时忽略某些表
mysqldump -u [用户名] -p[密码] [数据库名] --ignore-table=[数据库名].[表名] > [备份文件.sql]
  • 压缩备份文件
mysqldump -u [用户名] -p[密码] [数据库名] | gzip > [备份文件.sql.gz]

直接复制整个数据库目录

MySQL表保存为文件方式,因此可以直接复制mysql数据库的存储目录及文件进行备份。
但是,InnoDB存储引擎的表不适用。使用这种方法备份的数据最好还原到相同版本的服务器中,因为不同的版本可能不兼容。

  • 在 Linux 系统中,直接复制整个数据库目录的步骤如下:

步骤1:停止 MySQL 服务

必须先停止MYSQL,确保数据文件不会被修改。

sudo systemctl stop mysql 
#或者
sudo service mysql stop

步骤 2:找到 MySQL 数据目录

MySQL 的数据目录通常位于以下路径:
Linux系统 : /var/lib/mysql/
Windows系统: C:\ProgramData\MySQL\MySQL Server X.X\Data\
我们还可以通过命令查看 MySQL 数据目录的位置。

SHOW VARIABLES LIKE 'datadir';

步骤 3:复制数据库目录

找到数据目录后,复制整个数据库目录到目标位置。

比如,假设我们的数据库名为 mydatabase,数据目录为 /var/lib/mysql/,用以下命令

sudo cp -r /var/lib/mysql/mydatabase /path/to/backup/

步骤 4:启动 MySQL 服务

sudo systemctl start mysql
##或者
sudo service mysql start

步骤 5:恢复数据库

如果需要恢复数据库,可以按照以下命令操作。

#停止 MySQL 服务
sudo systemctl stop mysql  #将备份的数据库目录复制回 MySQL 数据目录  
sudo cp -r /path/to/backup/mydatabase /var/lib/mysql/#增加文件权限,确保能执行 
sudo chown -R mysql:mysql /var/lib/mysql/mydatabase#启动 MySQL 服务
sudo systemctl start mysql

mysqlhotcopy工具快速备份

mysqlhotcopy是一个Perl脚本,它使用LOCK TABLESFLUSH TABLEScpscp来快速备份数据库。
⚠️注意:只可以备份MyISAM类型的表

mysqlpump工具备份

mysqlpump工具支持并行备份,可以提高备份效率。

  • 示例:
mysqlpump -u root -p  --default-parallelism=2 --all-databases > all_databases_backup.sql

数据还原

数据还原(恢复)是数据库管理中至关重要的一个环节,旨在利用备份数据重新构建数据库,使其恢复到某个特定的状态,以应对数据丢失、损坏或其他故障。

使用mysql基础命令还原

对于已经备份的包含CREATEINSERT语句的文本文件,可以使用mysql命令导入到数据库中。

mysql -u [用户名] -p[密码] [数据库名] < [备份文件.sql]
  • 恢复压缩备份
gunzip < [备份文件.sql.gz] | mysql -u [用户名] -p[密码] [数据库名]
  • 验证恢复结果,利用SQL查询验证数据是否正确恢复。
SELECT * FROM [table_name];

直接复制到数据库目录实现还原

若数据库通过复制数据库文件备份,可以直接复制备份的文件到到MySQL数据目录下实现还原。
⚠️ 通过这种方式还原时,必须保存备份数据的数据库和待还原的数据库服务器的主版本号相同。而且这种方式只对MyISAM引擎的表有效。对于InnoDB引擎的表不可用。

  • 实现还原步骤跟上面备份的步骤类似,主要区别在于步骤3

步骤3:复制备份文件到 MySQL 数据目录

比如,假设你备份的数据库目录是 mydatabase,MySQL 数据目录是 /var/lib/mysql/,可使用以下命令还原,将备份的数据库文件复制到 MySQL 数据目录下。

sudo cp -r /path/to/backup/mydatabase  /var/lib/mysql/

验证还原

#登录 MySQL
mysql -u root -p#检查数据库和数据表是否正常
SHOW DATABASES;
USE mydatabase;
SHOW TABLES;
SELECT * FROM your_table;

mysqlhotcopy快速恢复

mysqlhotcopy备份后的文件也可以用来恢复数据库,在MySQL服务器停止运行时,将备份的数据库文件拷贝到MySQL存放数据的位置(MySQL的Data文件夹中),重新启动MySQL服务即可。
⚠️ 若是以根用户执行该操作,必须指定数据库文件的所有者。

  • 基本语法:
mysqlhotcopy [选项] 数据库名 备份目录
  • 常用选项:

-u:指定 MySQL 用户名。
-p:指定 MySQL 密码。
--allowold:若备份目录已存在,覆盖它。
--keepold:若备份目录已存在,保留旧备份并创建一个新目录。
--addtodest:将备份添加到现有目录中,而不是覆盖。

安装 mysqlhotcopy

mysqlhotcopy 是 MySQL 客户端工具的一部分,通常随 MySQL 客户端一起安装。如果未安装,可以通过以下方式安装。

  • Debian/Ubuntu 系统上
  sudo apt-get install mysql-client
  • CentOS/RHEL 系统上
  sudo yum install mysql

数据库迁移

数据库迁移是一项常见但复杂的任务,涉及将数据从一个MySQL实例转移到另一个实例。这可以包括从一个服务器迁移到另一个服务器,或者从一个版本迁移到另一个版本。

相同版本的MySQL数据库之间的迁移

相同版本的MySQL数据库之间的迁移,即在主版本号相同的MySQL数据库之间进行数据库移动。
迁移的过程实质上就是在源数据库备份和目标数据库还原过程的组合。

  • 实例:将www.lxj.com主机上的MySQL数据库全部迁移到www.lian.com主机上。那么,在www.lxj.com 主机上执行的命令:
mysqldump –h www.lian.com –uroot –ppassword dbname 
//或者
mysql –h  www.lian.com –uroot –ppassword

不同版本的MySQL数据库之间的迁移

因为数据库升级等原因,需要将较旧版本MySQL数据库中的数据迁移到的较新版本的数据库中。

迁移前的准备

  • 首先需要评估版本兼容性:

主要版本升级:从MySQL 5.7迁移到MySQL 8.0,需要特别注意新版本引入的更改和弃用的功能。
次要版本升级: 从MySQL 8.0.21迁移到MySQL 8.0.26,通常较为简单,但仍需检查发布说明以了解潜在的问题。

  • 备份数据:使用mysqldump进行逻辑备份
mysqldump -u [源用户名] -p[密码] --databases [数据库名] --routines --triggers --events > backup.sql
  • 检查和调整字符集和排序规则
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation%';
  • 测试备份文件的恢复

测试环境中恢复备份文件,确保备份文件的完整性和可恢复性。

mysql -u [测试用户名] -p[密码] < backup.sql

迁移步骤

主要使用mysqldumpmysql命令

  1. 在源服务器上导出数据库
mysqldump -u [源用户名] -p[密码] --databases [数据库名] --routines --triggers --events > backup.sql
  1. 传输备份文件到目标服务器

使用scp命令(适用于Linux/Mac系统) 或者使用其他文件传输工具,如rsyncftp等。

 scp backup.sql [用户名]@[目标服务器IP]:/path/to/backup/
  1. 在目标服务器上安装目标版本的MySQL

根据目标服务器的操作系统,安装相应版本的MySQL。
确保目标MySQL版本与备份文件兼容。

  1. 在目标服务器上创建目标数据库(如果没创建)
CREATE DATABASE [数据库名];
  1. 在目标服务器上导入数据库
mysql -u [目标用户名] -p[密码] [数据库名] < /path/to/backup/backup.sql
  1. 升级数据字典(可选)

从MySQL 5.7迁移到MySQL 8.0,可能需要运行mysql_upgrade命令来升级数据字典和系统表。

mysql_upgrade -u [目标用户名] -p[密码]

⚠️注意:mysql_upgrade在MySQL 8.0中已被弃用,升级过程由服务器自动处理。

  1. 重启MySQL服务:
sudo systemctl restart mysql

不同数据库之间迁移

不同类型的数据库之间的迁移,是指从把MySQL的数据库转移到其他类型的数据库,比如从MySQL迁移到ORACLE,从ORACLE迁移到MySQL和从MySQL迁移到sqlserver等。

实例:从MySQL迁移到ORACLE

迁移之前做的准备跟上述一样,观察版本兼容性,同时做好备份准备,避免迁移出错,下面使用Oracle SQL Developer 工具进行迁移。

  1. 下载和安装Oracle SQL Developer

    • Oracle SQL Developer是一个免费的图形化工具,支持从MySQL迁移到Oracle
  2. 配置MySQL JDBC驱动

    • 下载MySQL JDBC驱动(mysql-connector-java.jar)。
    • 在SQL Developer中,导航到Tools > Preferences > Database > Third Party JDBC Drivers,添加下载的JDBC驱动。
  3. 连接到MySQL数据库

    • 打开SQL Developer,导航到Connections,点击+号创建新连接。
    • 选择MySQL作为数据库类型,输入连接信息(主机、端口、用户名、密码)。
  4. 连接到Oracle数据库

    同样在Connections中,创建到Oracle数据库的新连接。

  5. 迁移数据

    • 右键点击要迁移的MySQL连接,选择Migration Wizard。
    • 按照向导步骤选择要迁移的数据库对象(表、视图、存储过程等)。
    • 配置目标Oracle数据库的连接和目标模式。
    • 启动迁移过程,SQL Developer会自动处理数据类型转换和对象创建。
  6. 验证迁移结果:

    • 检查Oracle数据库中的表、视图、存储过程等是否正确创建。

    • 比较MySQL和Oracle数据库中的数据行数:

      SELECT COUNT(*) FROM [表名];
      

数据表的导出和导入

SELECT…INTO OUTFILE导出文本文件

MySQL数据库导出数据时,允许使用包含导出定义的SELECT语句进行数据的导出操作。该文件被创建到服务器主机上。

SELECT columnlist  FROM table WHERE condition INTO OUTFILE  'filename' [OPTIONS]

mysqldump命令导出文本文件

mysqldump工具不仅可以将数据导出为包含CREATE、INSERT的sql文件,也可以导出为纯文本文件。

mysqldump -T path-u root -p dbname [tables] [OPTIONS]

mysql基础命令导出文本文件

同时,mysql 也是一个功能丰富的工具命令,还可以在命令行模式下执行SQL指令将查询结果导入到文本文件中。

mysql -u root -p --execute = "SELECT 语句"  dbname > filename.txt

LOAD DATA INFILE方式导入文本文件

LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串。

LOAD DATA  INFILE 'filename.txt' INTO TABLE tablename [OPTIONS] 	[IGNORE number LINES]

mysqlimport命令导入文本文件

使用mysqlimport不需要登录MySQL客户端,但是mysqlimport语句需要指定所需的选项、导入的数据库名称以及导入的数据文件的路径和名称。

mysqlimport –u root –p dbname filename.txt [OPTIONS]

综合案例—数据的备份与恢复

通过以下练习,能够熟悉MYSQL基本的数据备份和还原命令!!

mysqldump命令备份

使用mysqldump命令将suppliers表备份到文件C:\bktestdir\suppliers_bk.sql

mysqldump -u root -p test suppliers > C:\bktestdir\suppliers_bk.sql

mysql命令还原数据

使用mysql命令还原suppliers表到test数据库中

DELETE FROM suppliers;
source C:/bktestdir/suppliers_bk.sql;

SELECT… INTO OUTFILE语句导出数据

使用SELECT… INTO OUTFILE语句导出suppliers表中的记录,导出文件位于目录C:\bktestdir下,名称为suppliers_out.txt

SELECT * FROM test.suppliers INTO OUTFILE "C:/bktestdir/suppliers_out.txt"FIELDSTERMINATED BY ','ENCLOSED BY '\"'LINESSTARTING BY '<'TERMINATED BY '>\r\n';

LOAD DATA INFILE语句导入

使用LOAD DATA INFILE语句导入suppliers_out.txt数据到suppliers表。

LOAD DATA INFILE 'C:/bktestdir/suppliers_out.txt' INTO TABLE test.suppliersFIELDSTERMINATED BY ','ENCLOSED BY '\"'LINESSTARTING BY '<'TERMINATED BY '>\r\n';

musqldump命令导出

使用musqldump命令将suppliers表中的记录导出到文件C:\bktestdir\suppliers_html.html

mysql -u root -p --html --execute="SELECT * FROM suppliers;" test > C:/bktestdir/suppliers_html.html

本文有关Mysql数据备份与还原的相关概念已讲完了,明天再见啦👋
主页:【练小杰的CSDN】😆
ℹ️欢迎各位在评论区踊跃讨论,积极提出问题,解决困惑!!!
⚠️若博客里的内容有问题,欢迎指正,我会及时修改!!

在这里插入图片描述

相关文章:

【MySQL】我在广州学Mysql 系列—— 数据备份与还原

ℹ️大家好&#xff0c;我是练小杰&#xff0c;今天周一&#xff0c;过两天就是元宵节了&#xff0c;今年元宵节各位又要怎么过呢&#xff01;&#xff01; 本文主要对Mysql数据库中的数据备份与还原内容进行讨论&#xff01;&#xff01; 回顾&#xff1a;&#x1f449;【MySQ…...

【LeetCode Hot100 双指针】移动零、盛最多水的容器、三数之和、接雨水

双指针 1. 移动零题目描述解题思路关键思路&#xff1a;步骤&#xff1a;时间复杂度&#xff1a;空间复杂度&#xff1a; 代码实现 2. 盛最多水的容器题目解析解题思路代码实现 3. 三数之和问题描述&#xff1a;解题思路&#xff1a;算法步骤&#xff1a;代码实现&#xff1a; …...

HTML应用指南:利用POST请求获取接入比亚迪业态的充电桩位置信息

在新能源汽车快速发展的今天,充电桩的分布和可用性成为了影响用户体验的关键因素之一。比亚迪作为全球领先的新能源汽车制造商,不仅在车辆制造方面取得了卓越成就,也在充电基础设施建设上投入了大量资源。为了帮助用户更方便地找到比亚迪充电桩的位置,本篇文章,我们将探究…...

Android车机DIY开发之软件篇(十二) AOSP12下载编译

Android车机DIY开发之软件篇(十二) AOSP12下载编译 sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib gmultilib libc6-dev-i386 lib32ncurses5-dev libx11-dev lib32z-dev ccache libgl1-mesa-…...

Jenkins+gitee 搭建自动化部署

Jenkinsgitee 搭建自动化部署 环境说明&#xff1a; 软件版本备注CentOS8.5.2111JDK1.8.0_211Maven3.8.8git2.27.0Jenkins2.319最好选稳定版本&#xff0c;不然安装插件有点麻烦 一、安装Jenkins程序 1、到官网下载相应的版本war或者直接使用yum安装 Jenkins官网下载 直接…...

【文本处理】如何在批量WORD和txt文本提取手机号码,固话号码,提取邮箱,删除中文,删除英文,提取车牌号等等一些文本提取固定格式的操作,基于WPF的解决方案

企业的应用场景 数据清洗&#xff1a;在进行数据导入或分析之前&#xff0c;往往需要对大量文本数据进行预处理&#xff0c;比如去除文本中的无关字符&#xff08;中文、英文&#xff09;&#xff0c;只保留需要的联系信息&#xff08;手机号码、固话号码、邮箱&#xff09;。…...

Linux系统引导与服务管理

目录 一、Linux引导过程 1、引导过程概述 1.1、BIOS开机自检 1.2、MBR读取 1.3、加载引导加载程序&#xff08;GRUB&#xff09; 1.4、内核加载 1.5、初始化进程&#xff08;init&#xff09; 二、服务 2.1、服务类型 2.2、服务管理工具 三、运行级别 四、systemd …...

网络工程师 (30)以太网技术

一、起源与发展 以太网技术起源于20世纪70年代&#xff0c;最初由Xerox公司的帕洛阿尔托研究中心&#xff08;PARC&#xff09;开发。最初的以太网采用同轴电缆作为传输介质&#xff0c;数据传输速率为2.94Mbps&#xff08;后发展为10Mbps&#xff09;&#xff0c;主要用于解决…...

react项目引入tailwindcss不生效解决方案

根据tailwindcss官网的操作步骤下来&#xff0c;样式未生效&#xff0c;且未报错&#xff0c;看了挺多的资料&#xff0c;还是并未解决。 后面在另一个项目尝试时&#xff0c;报了下面的问题&#xff1a; Error: PostCSS plugin tailwindcss requires PostCSS 8 根据这个链接…...

【C#】条件运算符

1.逻辑与(&&) Console.WriteLine(true && true);//true Console.WriteLine(true && false);//false Console.WriteLine(false && false);//false2.逻辑或(||) Console.WriteLine(true || true);//true Console.WriteLine(true || false);//t…...

Windows11+PyCharm利用MMSegmentation训练自己的数据集保姆级教程

系统版本&#xff1a;Windows 11 依赖环境&#xff1a;Anaconda3 运行软件&#xff1a;PyCharm 一.环境配置 通过Anaconda Prompt(anaconda)打开终端创建一个虚拟环境 conda create --name mmseg python3.93.激活虚拟环境 conda activate mmseg 4.安装pytorch和cuda tor…...

WPS计算机二级•文档的文本样式与编号

听说这是目录哦 标题级别❤️新建文本样式 快速套用格式&#x1fa77;设置标题样式 自定义设置多级编号&#x1f9e1;使用自动编号&#x1f49b;取消自动编号&#x1f49a;设置 页面边框&#x1f499;添加水印&#x1fa75;排版技巧怎么分栏&#x1f49c;添加空白下划线&#x…...

Word中Ctrl+V粘贴报错问题

Word中CtrlV粘贴时显示“文件未找到&#xff1a;MathPage.WLL”的问题 Word的功能栏中有MathType&#xff0c;但无法使用&#xff0c;显示灰色。 解决方法如下&#xff1a; 首先找到MathType安装目录下MathPage.wll文件以及MathType Commands 2016.dotm文件&#xff0c;分别复…...

python-leetcode 24.回文链表

题目&#xff1a; 给定单链表的头节点head,判断该链表是否为回文链表&#xff0c;如果是&#xff0c;返回True,否则&#xff0c;返回False 输入&#xff1a;head[1,2,2,1] 输出&#xff1a;true 方法一&#xff1a;将值复制到数组中后用双指针法 有两种常用的列表实现&#…...

数据治理双证通关经验分享 | CDGA/CDGP备考全指南

历经1个月多的系统准备&#xff0c;本人于2024年顺利通过DAMA China的CDGA&#xff08;数据治理工程师&#xff09;和CDGP&#xff08;数据治理专家&#xff09;双认证。现将备考经验与资源体系化整理&#xff0c;助力从业者高效通关。 &#x1f31f; 认证价值与政策背景 根据…...

3.4 学习UVM中的uvm_monitor类分为几步?

文章目录 前言1. 定义2. 核心功能3. 适用场景4. 使用方法5. 完整代码示例5.1 事务类定义5.2 Monitor 类定义5.3 Scoreboard 类定义5.4 测试平台 6. 代码说明7. 总结 前言 以下是关于 UVM 中 uvm_monitor 的详细解释、核心功能、适用场景、使用方法以及一个完整的代码示例&…...

Java在大数据处理中的应用:从MapReduce到Spark

Java在大数据处理中的应用&#xff1a;从MapReduce到Spark 大数据时代的到来让数据的存储、处理和分析变得前所未有的重要。随着数据量的剧增&#xff0c;传统的单机计算方式已经无法满足处理需求。为了解决这个问题&#xff0c;许多分布式计算框架应运而生&#xff0c;其中Ma…...

日常吐槽。

一、写在前面 stereopy日常出bug(github issue里得有一半的问题是我提的&#xff0c;当然也有可能是因为我菜)&#xff0c;stereopy自己生成的anndata自己不能计算空间共现关系&#xff0c;还是靠squidpy才能计算。另外还要一些函数一开并行计算就报错&#xff0c;这里留一些s…...

2025最新版Node.js下载安装~保姆级教程

1. node中文官网地址&#xff1a;http://nodejs.cn/download/ 2.打开node官网下载压缩包&#xff1a; 根据操作系统不同选择不同版本&#xff08;win7系统建议安装v12.x&#xff09; 我这里选择最新版win 64位 3.安装node ①点击对话框中的“Next”&#xff0c;勾选同意后点…...

机器学习:学习记录(二)

1. 机器学习中的常用函数 logistic函数&#xff08;sigmoid函数&#xff09;&#xff1a;非线性激活函数&#xff0c;将R区间映射到(0,1)区间 ReLU函数&#xff1a;非线性激活函数&#xff0c;简单可以写作max(0,x)&#xff0c;在0处不可导&#xff0c;但是可以人为定义其导数…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...