mysql 逻辑备份 bin-log日志恢复

news2024/9/23 15:23:29

一、逻辑备份

逻辑备份:备份的是建表,建库,插入数据等操作所执行SQL语句,适用于中小型数据库,效率相对较低,提供三种级别的备份,表级,库级和全库级。

本质:导出的是SQL语句

优点:不论是什么存储引擎,都可以用mysqldump备份成SQL语句

缺点:速度较慢,导出时可能会出现格式不兼容的突发状况,无法做增量备份和累计增量备份

数据一致,服务可用:如何保证数据一致,在备份的时候进行锁表会自动锁表。锁住之后在备份。

二、逻辑备份:

1、备份全部数据库

语法:mysqldump -u指定用户 -p指定密码 -A > 文件名

           mysqldump -u指定用户 -p指定密码 --all-databases > 文件名

[root@localhost ~]#  mysqldump -uroot -p123 -A > all.mysql
 mysqldump: [Warning] Using a password on the command line interface can be insecure.

[root@localhost ~]# mysqldump -uroot -p123 --all-database >all1.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.

2.备份部分数据库

语法:mysqldump -u指定用户 -p密码 -B  数据库名1 数据库名2> 文件名

           mysqldump -u指定用户 -p密码 --databases 数据库名1 数据库名2 > 文件名

[root@localhost ~]# mysqldump -uroot -p123 -B db1 >db1.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.

[root@localhost ~]# mysqldump -uroot -p123 --databases db1 school > db2.txt 
mysqldump: [Warning] Using a password on the command line interface can be insecure.

3.备份表

语法:mysqldump -u指定用户 -p指定密码 数据库名 表名 > 文件名

[root@localhost ~]# mysqldump -uroot -p123 db1 employee > employee.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.

4.备份表结构

语法:mysqldump -u指定用户 -p指定密码 -d 数据库名 表名 

[root@localhost ~]# mysqldump -uroot -p123 -d db1 employee > jiegou.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.

5.备份表数据

语法:select * from  表.库 into outfile'/var/lib/mysql-files/文件名';

mysql> show variables like 'secure%'; #查看默认导出路径
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_auth      | ON                    |
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
2 rows in set (0.00 sec)

mysql> select * from mysql.user into outfile '/var/lib/mysql-files/b.xfs';  
Query OK, 6 rows affected (0.00 sec)

扩展:修改默认的导出路径

[root@localhost opt]# mkdir backup #创建默认目录
[root@localhost opt]# chown -R mysql.mysql /opt/backup#修改目录的属主和属组
[root@localhost opt]# vim /etc/my.cnf  #修改配置文件
secure_file_priv=/opt/backup
[root@localhost opt]# systemctl restart mysqld #重启mysql

[root@localhost opt]# mysql -p123 #进入mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.43 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like 'secure%'; #再次查看文件的默认路径
+------------------+--------------+
| Variable_name    | Value        |
+------------------+--------------+
| secure_auth      | ON           |
| secure_file_priv | /opt/backup/ |
+------------------+--------------+
2 rows in set (0.01 sec)

6.恢复

(1)命令行恢复数据库

     a)命令行恢复

语法:mysql -u用户名 -p密码 < 之前备份的文件

mysql> drop  database db1;    #先删除数据库db1
Query OK, 15 rows affected (0.07 sec)
mysql> show databases;   #查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db3                |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

[root@localhost ~]# mysql -uroot -p123 < db1.txt #恢复数据库
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql> show databases;    #再次查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| db3                |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
7 rows in set (0.00 sec)
    b)数据库里面恢复

语法:source +备份数据库的路径

mysql> drop database db1;  #删除数据库db1
Query OK, 15 rows affected (0.05 sec)

mysql> source /root/db1.txt #恢复数据库db1
Query OK, 0 rows affected (0.00 sec)

.
.

Query OK, 0 rows affected (0.00 sec)


mysql> show databases; #查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| db3                |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

(2)恢复表

a)在命令行恢复

语法:mysql -u用户 -p密码   表所在的数据库< 备份的文件

[root@localhost ~]# mysql -uroot -p123  db1< employee.txt
mysql: [Warning] Using a password on the command line interface can be insecure.
b)在数据库里面恢复

语法:source +备份的路径

mysql> source /root/employee.txt
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

(3)恢复表结构

语法:mysql -u用户 -p密码 -D 数据库名 < 备份的文件

[root@localhost ~]# mysql -uroot -p123 -D db1 <jiegou.txt
mysql: [Warning] Using a password on the command line interface can be insecure.

mysql> desc employee;
+-----------------+---------------------+------+-----+---------+----------------+
| Field           | Type                | Null | Key | Default | Extra          |
+-----------------+---------------------+------+-----+---------+----------------+
| id              | int(11)             | NO   | PRI | NULL    | auto_increment |
| name            | varchar(30)         | NO   |     | NULL    |                |
| sex             | enum('man','woman') | YES  |     | man     |                |
| hire_date       | date                | YES  |     | NULL    |                |
| post            | varchar(20)         | YES  |     | NULL    |                |
| job_description | varchar(100)        | YES  |     | NULL    |                |
| salary          | double(15,2)        | NO   |     | NULL    |                |
| office          | int(11)             | YES  |     | NULL    |                |
| dep_id          | int(11)             | YES  |     | NULL    |                |
+-----------------+---------------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)

mysql> select * from employee;
Empty set (0.00 sec)

(4)恢复表中数据

mysql> truncate employee;   #清空表中数据
Query OK, 0 rows affected (0.02 sec)

mysql> select * from employee; #查看表中数据
Empty set (0.00 sec)

mysql> load data infile'/opt/backup/a.txt'into table employee;
Query OK, 15 rows affected (0.01 sec)
Records: 15  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from employee;
+----+-----------+-------+------------+------------+-----------------+----------+--------+--------+
| id | name      | sex   | hire_date  | post       | job_description | salary   | office | dep_id |
+----+-----------+-------+------------+------------+-----------------+----------+--------+--------+
|  1 | qiancheng | man   | 2018-03-14 | hr         | talk            |  7000.00 |    501 |    102 |
| 20 | tom       | man   | 2017-09-15 | instructor | teach           |  8000.00 |    501 |    100 |
| 21 | alince    | woman | 2013-04-28 | instructor | teach           |  5500.00 |    501 |    100 |
| 22 | robin     | man   | 2020-09-18 | instructor | teach           |  7200.00 |    501 |    100 |
| 23 | zhuzhu    | man   | 2016-12-09 | hr         | hrcc            |  6000.00 |    502 |    101 |
| 24 | gougou    | woman | 2015-04-27 | hr         | NULL            |  6000.00 |    502 |    101 |
| 30 | maomao    | man   | 2019-08-12 | sale       | talk            | 20000.00 |    503 |    102 |
| 31 | yiyi      | man   | 2015-06-17 | talk       | NULL            |  8000.00 |   NULL |   NULL |
| 40 | harry     | woman | 2018-02-05 | hr         | hrcc            |  6900.00 |    502 |    102 |
| 41 | tianyuan  | man   | 2018-02-05 | null       | salecc          |  9700.00 |    501 |    102 |
| 42 | xiaoyi    | man   | 2018-02-05 | null       | salecc          |  5700.00 |    501 |    102 |
| 50 | zxvb      | man   | 2019-04-23 | hr         | NULL            |  8000.00 |   NULL |   NULL |
| 51 | ab        | man   | NULL       | NULL       | NULL            |  6500.00 |   NULL |   NULL |
| 52 | cd        | man   | NULL       | NULL       | NULL            |  7600.00 |   NULL |   NULL |
| 53 | ef        | man   | NULL       | NULL       | NULL            |  8900.00 |   NULL |   NULL |
+----+-----------+-------+------------+------------+-----------------+----------+--------+--------+
15 rows in set (0.00 sec)

三、bin-log 日志恢复数据

1.开启binlog日志功能

(1).修改配置文件

[root@localhost ~]# vim /etc/my.cnf
server-id=1        #添加server-id 
log-bin = /opt/log/mysql-bin.log #指定binlog日志文件的存放位置和名称,位置和名称都可以自定义

(2).修改/opt/log属主属组

[root@localhost ~]# chown -R mysql.mysql /opt/log

(3).重启mysql服务,使修改的配置文件生效

[root@localhost ~]# systemctl restart mysqld
[root@localhost ~]# cd /opt/log
[root@localhost log]# ls
mysql-bin.000001  mysql-bin.index

2.刷新binlog日志

mysql> flush logs;				#刷新binlog日志,使下面的语句存放到下一个binlog日志中

3.查看当前存储的binlog文件

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

4.恢复数据

案例:不小心删除了数据库中的一张表及其数据

(1)进入binlog文件的目录,查看bin-log文件

[root@localhost ~]# cd /opt/log
[root@localhost log]# ls
mysql-bin.000001   mysql-bin.000002 mysql-bin.index
[root@localhost log]# mysqlbinlog mysql-bin.000002 --base64-output=decode-rows -vv
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#231007 19:40:11 server id 1  end_log_pos 123 CRC32 0xa788ae39     Start: binlog v 4, server v 5.7.43-log created 231007 19:40:11
# Warning: this binlog is either in use or was not closed properly.
# at 123
#231007 19:40:11 server id 1  end_log_pos 154 CRC32 0xd228507b     Previous-GTIDs
# [empty]
# at 154
#231007 19:45:19 server id 1  end_log_pos 219 CRC32 0xdf49c909     Anonymous_GTID  last_committed=0        sequence_number=1  rbr_only=no
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 219
#231007 19:45:19 server id 1  end_log_pos 329 CRC32 0x7f94b39e     Query   thread_id=3     exec_time=0     error_code=0
SET TIMESTAMP=1696679119/*!*/;
SET @@session.pseudo_thread_id=3/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=1436549152/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create database db default charset'utf8'
/*!*/;
# at 329
#231007 19:46:20 server id 1  end_log_pos 394 CRC32 0xc79d4673     Anonymous_GTID  last_committed=1        sequence_number=2  rbr_only=no
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 394
#231007 19:46:20 server id 1  end_log_pos 513 CRC32 0xeca5dcea     Query   thread_id=3     exec_time=0     error_code=0
use `db`/*!*/;
SET TIMESTAMP=1696679180/*!*/;
create table db1(id int,name varchar(30),age int)
/*!*/;
# at 513
#231007 19:47:58 server id 1  end_log_pos 578 CRC32 0x502f26e0     Anonymous_GTID  last_committed=2        sequence_number=3  rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 578
#231007 19:47:58 server id 1  end_log_pos 648 CRC32 0x1c085c1f     Query   thread_id=3     exec_time=0     error_code=0
SET TIMESTAMP=1696679278/*!*/;
BEGIN
/*!*/;
# at 648
#231007 19:47:58 server id 1  end_log_pos 696 CRC32 0x836eb6d7     Table_map: `db`.`db1` mapped to number 109
# at 696
#231007 19:47:58 server id 1  end_log_pos 784 CRC32 0x9580d081     Write_rows: table id 109 flags: STMT_END_F
### INSERT INTO `db`.`db1`
### SET
###   @1=1 /* INT meta=0 nullable=1 is_null=0 */
###   @2='xiaoli' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @3=23 /* INT meta=0 nullable=1 is_null=0 */
### INSERT INTO `db`.`db1`
### SET
###   @1=2 /* INT meta=0 nullable=1 is_null=0 */
###   @2='xiaozhang' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @3=34 /* INT meta=0 nullable=1 is_null=0 */
### INSERT INTO `db`.`db1`
### SET
###   @1=3 /* INT meta=0 nullable=1 is_null=0 */
###   @2='zhangsan' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @3=42 /* INT meta=0 nullable=1 is_null=0 */
# at 784
#231007 19:47:58 server id 1  end_log_pos 815 CRC32 0xe927fd1d     Xid = 12
COMMIT/*!*/;
# at 815
#231007 19:48:10 server id 1  end_log_pos 880 CRC32 0xcdc9d73a     Anonymous_GTID  last_committed=3        sequence_number=4  rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 880
#231007 19:48:10 server id 1  end_log_pos 950 CRC32 0x0a8ade69     Query   thread_id=3     exec_time=0     error_code=0
SET TIMESTAMP=1696679290/*!*/;
BEGIN
/*!*/;
# at 950
#231007 19:48:10 server id 1  end_log_pos 998 CRC32 0x68b7b908     Table_map: `db`.`db1` mapped to number 109
# at 998
#231007 19:48:10 server id 1  end_log_pos 1086 CRC32 0xc1c77e9d    Delete_rows: table id 109 flags: STMT_END_F
### DELETE FROM `db`.`db1`
### WHERE
###   @1=1 /* INT meta=0 nullable=1 is_null=0 */
###   @2='xiaoli' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @3=23 /* INT meta=0 nullable=1 is_null=0 */
### DELETE FROM `db`.`db1`
### WHERE
###   @1=2 /* INT meta=0 nullable=1 is_null=0 */
###   @2='xiaozhang' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @3=34 /* INT meta=0 nullable=1 is_null=0 */
### DELETE FROM `db`.`db1`
### WHERE
###   @1=3 /* INT meta=0 nullable=1 is_null=0 */
###   @2='zhangsan' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @3=42 /* INT meta=0 nullable=1 is_null=0 */
# at 1086
#231007 19:48:10 server id 1  end_log_pos 1117 CRC32 0x6cca4c23    Xid = 13
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

3.找到要恢复的起始位置,和结束位置

由题可知要恢复的起始位置和结束位置分别为648,950

[root@localhost log]# mysqlbinlog --start-position 648 --stop-position 950 mysql-bin.000002 |mysql -uroot -p123
mysql: [Warning] Using a password on the command line interface can be insecure.

4.进入数据库查看数据是否恢复

mysql> select * from  db.db1;
+------+-----------+------+
| id   | name      | age  |
+------+-----------+------+
|    1 | xiaoli    |   23 |
|    2 | xiaozhang |   34 |
|    3 | zhangsan  |   42 |
+------+-----------+------+
3 rows in set (0.00 sec)

扩展: 根据binlog日志的时间点恢复

[root@localhost log]# mysqlbinlog --start-datetime='2023-10-07 19:47:58' --stop-datetime='2023-10-07 19:48:10' mysql-bin.000002 |mysql -uroot -p123
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql> select * from db.db1;
+------+-----------+------+
| id   | name      | age  |
+------+-----------+------+
|    1 | xiaoli    |   23 |
|    2 | xiaozhang |   34 |
|    3 | zhangsan  |   42 |
+------+-----------+------+
3 rows in set (0.00 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1075230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Springboot实现疫情网课管理系统项目【项目源码+论文说明】分享

基于Springboot实现疫情网课管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于疫情网课管理系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了疫情…

麻省理工学院与Meta AI共同开发StreamingLLM框架,实现语言模型无限处理长度

&#x1f989; AI新闻 &#x1f680; 麻省理工学院与Meta AI共同开发StreamingLLM框架&#xff0c;实现语言模型无限处理长度 摘要&#xff1a;麻省理工学院与Meta AI的研究人员联合研发了一款名为StreamingLLM的框架&#xff0c;解决了大语言模型在RAM与泛化问题上的挑战&am…

一用就会的手机配音软件,效果好到你震惊~

作为当今社交媒体时代的一员&#xff0c;我们经常需要在各种场合中使用配音软件&#xff0c;无论是自制视频内容还是进行个人创作&#xff0c;一款好用的配音软件真的很重要。所以经过小编这几天的努力&#xff0c;终于选出了一款备受好评的免费配音软件&#xff0c;不仅功能强…

高效数据传输:Java通过绑定快速将数据导出至Excel

摘要&#xff1a;本文由葡萄城技术团队原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 把数据导出至 Excel 是很常见的需求&#xff0c;而数据的持久化&#xff0c;往往又放在…

为什么选择HubSpot电子邮件营销?

在数字时代&#xff0c;电子邮件营销是企业吸引、互动和保留客户的关键工具之一。然而&#xff0c;要在竞争激烈的市场中脱颖而出&#xff0c;并确保你的消息被准确地传达给目标受众&#xff0c;需要一款强大而智能的电子邮件营销平台。这就是HubSpot电子邮件营销背后的核心理念…

聊聊分布式架构06——[NIO入门]简单的Netty NIO示例

目录 Java NIO和Netty NIO比较 Java NIO&#xff1a; Netty&#xff1a; Netty NIO中的主要模块 Transport&#xff08;传输层&#xff09; Buffer&#xff08;缓冲区&#xff09; Codec&#xff08;编解码器&#xff09; Handler&#xff08;处理器&#xff09; Even…

王杰C++day3

#include <iostream>using namespace std;class Per { private:string name;int age;int *height;int *weight; public://有参构造函数Per(string n,int a,int h,int w):name(n),age(a),height(new int(h)),weight(new int(w)){cout << "p有参" <<…

Godot2D角色导航-自动寻路教程(角色随鼠标移动)

文章目录 运行结果2D导航概述开始前的准备2D导航创建导航网格创建角色 其他文章 运行结果 2D导航概述 Godot为2D和3D游戏提供了多个对象、类和服务器&#xff0c;以便于基于网格或基于网格的导航和路径查找。 说到导航&#xff0c;就得说一下导航网格&#xff0c;导航网格定义…

miRNA测序数据生信分析——第一讲,总结概述

miRNA测序数据生信分析——第一讲&#xff0c;总结概述 miRNA测序数据生信分析——第一讲&#xff0c;总结概述1. miRNA提取建库测序2. miRNA的生物学功能3. miRNA的生信分析模块3.1 miRNA鉴定3.2 miRNA表达量计算和差异表达miRNA分析3.3 miRNA靶基因注释3.4 另一个miRNA生信分…

Bridge

Bridge 动机 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;乃至多个纬度的变化如何应对这种“多维度的变化”&#xff1f;如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方向变化&#xff0c;而不引入额外的复杂度&#xff1…

UML图 - 类图(Class Diagram)

类图是描述系统中的类&#xff0c;以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型&#xff0c;确切的说&#xff0c;是一种静态模型类型。类图表示类、接口和它们之间的协作关系。 类图的结构 类一般由三部分组成&…

很烦的Node报错积累

目录 1. 卡在sill idealTree buildDeps2、Node Sass老是安装不上的问题3、unable to resolve dependency tree4、nvm相关命令5、设置淘宝镜像等基操5.1 镜像 5.2 npm清理缓存6、Browserslist: caniuse-lite is outdated loader 1. 卡在sill idealTree buildDeps 参考&#xf…

【数据库系统概论】SQL是什么?它有什么特点?

SQL是什么SQL的特点SQL的基本概念感谢 &#x1f496; SQL是什么 SQL&#xff08;Structured Query Language&#xff09;即结构化查询语句&#xff0c;是关系数据库的标准语言。它的功能不仅仅是查询&#xff0c;而是包括数据库模式创建、数据库数据的插入和修改、数据库安全性…

【iOS】Fastlane一键打包上传到TestFlight、蒲公英

Fastlane一键打包上传到TestFlight、蒲公英 前言一、准备二、探索一、Fastlane配置1、Fastlane安装2、Fastlane更新3、Fastlane卸载4、查看Fastlane版本5、查看Fastlane位置6、Fastlane初始化 二、Fastlane安装蒲公英插件三、Fastlane文件编辑1、Gemfile文件2、Appfile文件3、F…

虹科方案丨自动驾驶多传感器数据融合方法

文章来源&#xff1a;雅名特自动驾驶 点此阅读原文&#xff1a;https://mp.weixin.qq.com/s/QsPMWZDGZaPdEx47L2VmeA 近年来&#xff0c;深度学习技术在涉及高维非结构化数据领域展现出了最先进的性能&#xff0c;如计算机视觉、语音、自然语言处理等方面&#xff0c;并且开始涉…

Vue3中reactive, onMounted, ref,toRaw,conmpted 使用方法

import { reactive, onMounted, ref,toRaw,conmpted } from vue; vue3中 reactive &#xff0c;ref &#xff0c; toRaw&#xff0c;watch&#xff0c;conmpted 用法 toRaw 返回原响应式对象 用法&#xff1a; const rowList toRaw(row) reactive:ref: ref和reactive都是V…

Microsoft Office 2019 for Mac:提升工作效率的必备办公软件套装

在现代社会&#xff0c;办公软件已经成为我们工作生活中不可或缺的一部分。作为全球领先的办公软件品牌&#xff0c;Microsoft Office 2019 for Mac&#xff08;Office全家桶&#xff09;凭借其强大的功能和稳定性&#xff0c;成为了无数Mac用户提升工作效率的首选。 首先&…

教资成绩什么时候出来 2023教资笔试成绩查询时间介绍

上半年教资笔试成绩查询开放时期为2023年4月13日&#xff0c;面试成绩查询开放时间在6月14日。而下半年教资笔试成绩查询开放时间为2023年11月8日&#xff0c;2023下半年教资面试时间是2023年12月9日-10日。 值得一提的是如果考生对成绩有异议的话&#xff0c;还可以在成绩公布…

Python操作Hive数据仓库

Python连接Hive 1、Python如何连接Hive&#xff1f;2、Python连接Hive数据仓库 1、Python如何连接Hive&#xff1f; Python连接Hive需要使用Impala查询引擎 由于Hadoop集群节点间使用RPC通信&#xff0c;所以需要配置Thrift依赖环境 Thrift是一个轻量级、跨语言的RPC框架&…

LeetCode-496-下一个更大元素

题目描述&#xff1a; 题目链接&#xff1a;LeetCode-496-下一个更大元素 解题思路&#xff1a; 方法一&#xff1a;暴力 方法二&#xff1a;单调栈 方法一代码实现&#xff1a; class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {// 最笨的方法&am…