当前位置: 首页 > 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;但是可以人为定义其导数…...

迁移学习 Transfer Learning

迁移学习&#xff08;Transfer Learning&#xff09;是什么&#xff1f; 迁移学习是一种机器学习方法&#xff0c;它的核心思想是利用已有模型的知识来帮助新的任务或数据集进行学习&#xff0c;从而减少训练数据的需求、加快训练速度&#xff0c;并提升模型性能。 &#x1f…...

实现:多活的基础中间件

APIRouter &#xff1a; 路由分发服务 API Router 是一个 HTTP 反向代理和负载均衡器&#xff0c;部署在公有云中作为 HTTP API 流量的入口&#xff0c;它能识别 出流量的归属 shard &#xff0c;并根据 shard 将流量转发到对应的 ezone 。 API Router 支持多种路由键&am…...

Mybatis源码01 - 总体框架设计

Mybatis总体框架设计 文章目录 Mybatis总体框架设计一&#xff1a;MyBatis架构概览1&#xff1a;接口层1.1&#xff1a;使用传统的MyBatis提供的API1.2&#xff1a;使用Mapper接口 2&#xff1a;数据处理层【核心】2.1&#xff1a;参数映射和动态SQL语句生成2.2&#xff1a;SQL…...

在大型语言模型(LLM)框架内Transformer架构与混合专家(MoE)策略的概念整合

文章目录 传统的神经网络框架存在的问题一. Transformer架构综述1.1 transformer的输入1.1.1 词向量1.1.2 位置编码&#xff08;Positional Encoding&#xff09;1.1.3 编码器与解码器结构1.1.4 多头自注意力机制 二.Transformer分步详解2.1 传统词向量存在的问题2.2 详解编解码…...

Selenium WebDriver自动化测试(扩展篇)--Jenkins持续集成

文章目录 一、引言二、Jenkins简介三、安装部署Jenkins安装部署 四、集成Git与Maven安装必要的插件配置Git配置Maven 五、创建Job创建自由风格的项目配置源码管理配置构建触发器配置构建环境配置构建步骤配置Post-build Actions 六、触发构建示例&#xff1a;GitHub Webhook触发…...

Wiki文档转换为Word技术

一、技术背景与目标 Wiki系统导出的文档通常以HTML格式存在,且内容分散在多个文件中,每个页面对应一个HTML文件。然而,Microsoft Word(Word)在处理HTML文件时,仅支持单个HTML文件的导入。因此,为了将Wiki导出的内容转换为Word可识别的格式,必须将分散的HTML文件整合为一…...

1.【线性代数】——方程组的几何解释

一 方程组的几何解释 概述举例举例一1. matrix2.row picture3.column picture 概述 三种表示方法 matrixrow picturecolumn picture 举例 举例一 { 2 x − y 0 − x 2 y 3 \begin{cases} 2x - y 0 \\ -x 2y 3 \end{cases} {2x−y0−x2y3​ 1. matrix [ 2 − 1 − 1 …...

力扣1448. 统计二叉树中好节点的数目

Problem: 1448. 统计二叉树中好节点的数目 文章目录 题目描述思路复杂度Code 题目描述 思路 对二叉树进行先序遍历&#xff0c;边遍历边对比并更新当前路径上的最大值pathMax&#xff0c;若当pathMax小于等于当前节点值&#xff0c;则好节点的数目加一 复杂度 时间复杂度: O (…...

【C#零基础从入门到精通】(二)——C#注释和命名法详解

【C#零基础从入门到精通】(二)——C#注释和命名法详解 C# 中的注释 定义 在 C# 里,注释是一种特殊的代码文本,它不会被编译器执行,主要用于对代码进行解释、说明,帮助开发者更好地理解代码的功能、用途、实现思路以及注意事项等,提升代码的可读性和可维护性。 注释类型…...

SQLServer的创建,表创建,主键,约束,模糊查询

设置 注意: 设置完成之后 重新启动 创建数据库 注意: 这个目标路径必须要有该文件名的文件夹 -- 指向 master 数据库&#xff0c;告诉它我们要创建一个新的数据库操作了 use master go-- 创建数据库 create database StudentManageDB on primary (-- 以下四个组成部分缺一不可…...