MySQL--二进制日志

目录

一、作用

二、binlog配置

1.查看当前配置

2.修改配置文件​

3.binlog配置参数解释

三、binlog记录内容说明

1.记录内容

2.DDL、DCL记录格式

3.DML记录格式

4.记录内容查看

四、bin_log_format 记录模式

1.行模式 Row

2.语句模式  Statement

3.混合模式

五、binlog文件查看

1.show binary logs 查看当前所有binlog文件列表​编辑

2.flush logs 刷新binlog

3.show master status; 查看当前使用的binlog

六、binlog记录单元-event事件

1.event介绍

2.事件的主要结构

3.事件查看

七、binlog日志截取和数据恢复

1.模拟drop环境​

2.截取二进制日志

3.恢复数据

八、binlog日志跨多文件截取    

1.模拟环境

2.分段截取

3.数据恢复

九、GTID模式下的binlog管理

1.介绍

2.开启方式

 3.基于GTID的binlog管理

十、基于GTID模式截取和恢复数据

1.模拟环境

2.利用GTID截取日志

3.恢复数据


一、作用

        记录mysql运行过程中,变更类的语句(DDL,DML,DCL)

        可以用来做数据恢复和主从复制

二、binlog配置

1.查看当前配置

        

2.修改配置文件

3.binlog配置参数解释

server_id主机ID,主从复制时用来区分不同的节点
log_bin二进制日志开关,也可以设置binlog存放位置和名称
log_bin_basename设置binlog存放位置和名称
binlog_format二进制日志记录格式,默认是row模式
sync_binlogbinlog刷新策略,默认为1
gtid_mode
enforce_gtid_consistency

三、binlog记录内容说明

1.记录内容

        记录mysql运行过程中,变更类的语句(DDL,DML,DCL)

2.DDL、DCL记录格式

         statement 语句格式记录,例如:create database

3.DML记录格式

        a)只会记录已经提交的事务语句

        b)记录格式受到bin_log_format影响,可以设置

4.记录内容查看

       在日志文件夹下使用mysqlbinlog命令

       [root@localhost binlog]# mysqlbinlog binlog.000003

       查看DMl语句,基于row模式查看内容

       [root@localhost binlog]# mysqlbinlog --base64-output=decode-rows -vvv binlog.000003

四、bin_log_format 记录模式

1.行模式 Row

        例如:update set name=‘a’ where id<10,行模式记录的是9个数据行每行变化的日志

        日志量相对较大,记录准确

2.语句模式  Statement

        语句模式记录的是update语句本身

        日志量相对较小,记录可能不准确

3.混合模式

五、binlog文件查看

1.show binary logs 查看当前所有binlog文件列表

2.flush logs 刷新binlog

3.show master status; 查看当前使用的binlog

六、binlog记录单元-event事件

1.event介绍

        DDL、DCL:一条语句就是一个事件

        DML:一个事务型操作由多个event构成

                                begin        e1

                                DML1       e2

                                DML2       e3

                                commit     e4

2.事件的主要结构

        开始标记:position

        事件内容 event        

        结束标记:position

3.事件查看

        查看当前使用的binlog文件:show master status

        例如对数据库做了更改:create database yizuo charset utf8mb4;

        查看该事件:show binlog events in 'binlog.000003';

        前两行是默认

        POS是事件起始位置点,End_log_pos是结束位置点

七、binlog日志截取和数据恢复

1.模拟drop环境

2.截取二进制日志-截取到drop那一行的position号(与gtid截取不同)

        查找create database起点:

        [root@localhost binlog]# mysql -e "show binlog events in 'binlog.000003';" | grep "create database yizuo";

        查找drop操作的起点:

        [root@localhost binlog]# mysql -e "show binlog events in 'binlog.000003';" | grep "drop database yizuo";

        截取日志:

        mysqlbinlog --start-position=233 --stop-position=2256 binlog.000003 >/tmp/bin.sql;

3.恢复数据

        set sql_log_bin=0;        设置在恢复的时候不要产生额外的日志了,该设置是会话级别的

        source /tmp/bin.sql;       恢复数据

        set sql_log_bin=1;        设置二进制日志记录

八、binlog日志跨多文件截取    

1.模拟环境

mysql> create database yizuo charset utf8mb4;
Query OK, 1 row affected (0.00 sec)mysql> use yizuo;
Database changed
mysql> CREATE TABLE `city` (->   `id` int NOT NULL AUTO_INCREMENT COMMENT '编号',->   `name` varchar(100) DEFAULT NULL COMMENT '城市名',->   `province` varchar(100) DEFAULT NULL,->   `population` varchar(100) DEFAULT NULL COMMENT '人口',->   `district` varchar(100) DEFAULT NULL COMMENT '街区',->   PRIMARY KEY (`id`),->   KEY `idx_name` (`name`),->   KEY `idx_nn` (`name`(5)) /*!80000 INVISIBLE */-> ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
Query OK, 0 rows affected (0.02 sec)mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000003 |     3395 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)mysql> flush logs;
Query OK, 0 rows affected (0.00 sec)mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000004 |      156 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)mysql> insert into city (id,name,province,population,district) values(1,'沈阳','辽宁','109万','兴隆台区');
Query OK, 1 row affected (0.00 sec)mysql> insert into city (id,name,province,population,district) values(2,'大连','辽宁','109万','兴隆台区');
Query OK, 1 row affected (0.01 sec)mysql> commit;
Query OK, 0 rows affected (0.00 sec)mysql> flush logs;
Query OK, 0 rows affected (0.01 sec)mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000005 |      156 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)mysql> insert into city (id,name,province,population,district) values(3,'锦州','辽宁','109万','兴隆台区');
Query OK, 1 row affected (0.00 sec)mysql> commit;
Query OK, 0 rows affected (0.00 sec)mysql> drop database yizuo;
Query OK, 1 row affected (0.01 sec)mysql> show tables;
ERROR 1046 (3D000): No database selected
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| world              |
+--------------------+
5 rows in set (0.00 sec)

2.分段截取

1)截取003日志文件:

        [root@localhost binlog]# mysql -e "show binlog events in 'binlog.000003';" | grep "create database yizuo";

[root@localhost binlog]# mysql -e "show binlog events in 'binlog.000003';" | grep "create database yizuo";
binlog.000003	233	Query	51	360	create database yizuo charset utf8mb4 /* xid=8 */
binlog.000003	2631	Query	51	2758	create database yizuo charset utf8mb4 /* xid=128 */

        mysqlbinlog --start-position=2631 binlog.000003 >/tmp/bin1.sql;

2)截取004日志文件

        mysqlbinlog binlog.000004 >/tmp/bin2.sql;

3)截取005号日志文件

        [root@localhost binlog]# mysql -e "show binlog events in 'binlog.000005';" | grep "drop database yizuo";

[root@localhost binlog]# mysql -e "show binlog events in 'binlog.000005';" | grep "drop database yizuo";
binlog.000005	565	Query	51	672	drop database yizuo /* xid=144 */

        mysqlbinlog --stop-position=565 binlog.000005 >/tmp/bin3.sql;

3.数据恢复

        set sql_log_bin=0;

                source /tmp/bin1.sql;

                source /tmp/bin2.sql;

                source /tmp/bin3.sql;

        set sql_log_bin=1;

九、GTID模式下的binlog管理

1.介绍

        5.6以后加入了GTID功能,用来唯一标识事件和事务,GTID具有幂等性

        GLOBAL TRANSTATION ID 全局事务唯一编号,是从1开始有序生成的

        表现方式:server_uuid:TID (server_uuid是在第一次初始化,启动数据库时,自动生成的,存于/data/auto.cnf中,一旦被删除或修改,下次重启数据库会重置)

        DDL、DCL操作:一个事件记录一个GTID

        DML:一个完整事务记录一个GTID

2.开启方式

默认是关闭的

      

修改配置文件,开启gtid:

 3.基于GTID的binlog管理

        查看GTID信息:show master status;

mysql> show master status;
+---------------+----------+--------------+------------------+------------------------------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                        |
+---------------+----------+--------------+------------------+------------------------------------------+
| binlog.000006 |      678 |              |                  | 518de310-1806-11ef-b5d7-000c2912a662:1-2 |
+---------------+----------+--------------+------------------+------------------------------------------+

        查看GTID事件信息:show binlog events in 'binlog.000006';

mysql> show binlog events in 'binlog.000006';
+---------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
| Log_name      | Pos | Event_type     | Server_id | End_log_pos | Info                                                              |
+---------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
| binlog.000006 |   4 | Format_desc    |        51 |         125 | Server ver: 8.0.20, Binlog ver: 4                                 |
| binlog.000006 | 125 | Previous_gtids |        51 |         156 |                                                                   |
| binlog.000006 | 156 | Gtid           |        51 |         235 | SET @@SESSION.GTID_NEXT= '518de310-1806-11ef-b5d7-000c2912a662:1' |
| binlog.000006 | 235 | Query          |        51 |         311 | BEGIN                                                             |
| binlog.000006 | 311 | Table_map      |        51 |         379 | table_id: 86 (yizuo.city)                                         |
| binlog.000006 | 379 | Write_rows     |        51 |         457 | table_id: 86 flags: STMT_END_F                                    |
| binlog.000006 | 457 | Xid            |        51 |         488 | COMMIT /* xid=11 */                                               |
| binlog.000006 | 488 | Gtid           |        51 |         565 | SET @@SESSION.GTID_NEXT= '518de310-1806-11ef-b5d7-000c2912a662:2' |
| binlog.000006 | 565 | Query          |        51 |         678 | use `yizuo`; create table t1(id int) /* xid=16 */                 |
+---------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
9 rows in set (0.00 sec)

十、基于GTID模式截取和恢复数据

1.模拟环境

mysql> drop database yizuo;
Query OK, 1 row affected (0.01 sec)mysql> show binlog events in 'binlog.000007';
+---------------+------+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Log_name      | Pos  | Event_type     | Server_id | End_log_pos | Info                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+---------------+------+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| binlog.000007 |    4 | Format_desc    |        51 |         125 | Server ver: 8.0.20, Binlog ver: 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| binlog.000007 |  125 | Previous_gtids |        51 |         196 | 518de310-1806-11ef-b5d7-000c2912a662:1-3                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| binlog.000007 |  196 | Gtid           |        51 |         273 | SET @@SESSION.GTID_NEXT= '518de310-1806-11ef-b5d7-000c2912a662:4'                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| binlog.000007 |  273 | Query          |        51 |         400 | create database yizuo charset utf8mb4 /* xid=28 */                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| binlog.000007 |  400 | Gtid           |        51 |         479 | SET @@SESSION.GTID_NEXT= '518de310-1806-11ef-b5d7-000c2912a662:5'                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| binlog.000007 |  479 | Query          |        51 |        1037 | use `yizuo`; CREATE TABLE `city` (   `id` int NOT NULL AUTO_INCREMENT COMMENT '编号',   `name` varchar(100) DEFAULT NULL COMMENT '城市名',   `province` varchar(100) DEFAULT NULL,   `population` varchar(100) DEFAULT NULL COMMENT '人口',   `district` varchar(100) DEFAULT NULL COMMENT '街区',   PRIMARY KEY (`id`),   KEY `idx_name` (`name`),   KEY `idx_nn` (`name`(5)) /*!80000 INVISIBLE */ ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci /* xid=34 */          |
| binlog.000007 | 1037 | Gtid           |        51 |        1116 | SET @@SESSION.GTID_NEXT= '518de310-1806-11ef-b5d7-000c2912a662:6'                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| binlog.000007 | 1116 | Query          |        51 |        1192 | BEGIN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| binlog.000007 | 1192 | Table_map      |        51 |        1260 | table_id: 93 (yizuo.city)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| binlog.000007 | 1260 | Write_rows     |        51 |        1338 | table_id: 93 flags: STMT_END_F                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| binlog.000007 | 1338 | Xid            |        51 |        1369 | COMMIT /* xid=35 */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| binlog.000007 | 1369 | Gtid           |        51 |        1448 | SET @@SESSION.GTID_NEXT= '518de310-1806-11ef-b5d7-000c2912a662:7'                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| binlog.000007 | 1448 | Query          |        51 |        1524 | BEGIN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| binlog.000007 | 1524 | Table_map      |        51 |        1592 | table_id: 93 (yizuo.city)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| binlog.000007 | 1592 | Write_rows     |        51 |        1670 | table_id: 93 flags: STMT_END_F                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| binlog.000007 | 1670 | Xid            |        51 |        1701 | COMMIT /* xid=38 */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| binlog.000007 | 1701 | Gtid           |        51 |        1778 | SET @@SESSION.GTID_NEXT= '518de310-1806-11ef-b5d7-000c2912a662:8'                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| binlog.000007 | 1778 | Query          |        51 |        1885 | drop database yizuo /* xid=42 */                                                                                                                                                                                                                                                                                                                                                                                                                      

2.利用GTID截取日志-截取到drop操作之前的一个gtid号

1)普通截取:

       [root@localhost binlog]# mysqlbinlog --skip-gtids --include-gtids='518de310-1806-11ef-b5d7-000c2912a662:4-7' binlog.000007 >/tmp/gtid1.sql

        需要添加:--skip-gtids,在截取日志时,抹掉已有的GTID信息,防止GTID重复冲突,不添加该参数,gtid截取日志也不会成功的

2)跳过某些gtid信息

        --include-gtids='518de310-1806-11ef-b5d7-000c2912a662:4-7'

        --exclude-gtids='518de310-1806-11ef-b5d7-000c2912a662:6'

3.恢复数据

        set sql_log_bin=0;

                source /tmp/gtid1.sql;

        set sql_log_bin=1;

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

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

相关文章

单线程 vs 多进程:Python网络爬虫效率对比

概述 在网络爬虫的开发过程中&#xff0c;性能优化是一个重要的考虑因素。本文将概述单线程和多进程在Python网络爬虫中的应用&#xff0c;并对比它们的效率。 单线程爬虫是最基本的爬虫模型&#xff0c;它按顺序一个接一个地处理任务。这种方法的优点是实现简单&#xff0c;易…

探索数据结构:顺序表的实现与应用

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;渐入佳境之数据结构与算法 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​ 一、什么是顺序表 顺序表是用一段物理地址连续…

5分钟教你APP变现,让商业浪潮为你助力!

在这个数字时代&#xff0c;几乎每个人都有一个或多个应用程序&#xff08;APP&#xff09;的想法&#xff0c;它们可能是为了解决特定问题&#xff0c;提供娱乐或简化日常任务。然而&#xff0c;许多开发者面临的最大挑战之一是如何将这些创意转化为盈利的商业模式。本文将探讨…

从简单到复杂,红酒配餐的层次感与变化

红酒配餐是一种艺术&#xff0c;通过不同层次的搭配&#xff0c;可以呈现出丰富的味觉变化&#xff0c;使每一口都充满惊喜。云仓酒庄雷盛红酒以其卓着的品质和与众不同的口感&#xff0c;为红酒配餐提供了无限可能。从简单到复杂&#xff0c;红酒配餐的层次感与变化如下&#…

windows系统万能激活码可长期使用参考

windows万能激活码参考 windows10万能激活码可长时间使用&#xff0c;无需半年重新激活的哦。激活操作步骤 windows10万能激活码可长时间使用&#xff0c;无需半年重新激活的哦。 激活操作步骤 选择 ‘此电脑’ 中的 ‘属性’&#xff1b; 选择 ‘更改产品密钥’ 选项&#x…

有类似注册表编辑器的vb6源码吗?vba注册表编辑器

第一步是要实现注册表功能的读写&#xff0c;所有数据类型&#xff0c;枚举列出所有子项 第二步&#xff0c;树形控件之类显示&#xff0c;可视化修改&#xff0c;查看 第三步&#xff0c;导入导出注册表 第四步&#xff0c;注册表监控&#xff0c;检测哪些注册表项是新建、删除…

Gopher的Rust第一课:第一个Rust程序

经过上一章[1]的学习&#xff0c;我想现在你已经成功安装好一个Rust开发环境了&#xff0c;是时候撸起袖子开始写Rust代码了&#xff01; 程序员这个历史并不算悠久的行当&#xff0c;却有着一个历史悠久的传统&#xff0c;那就是每种编程语言都将一个名为“hello, world”的示…

MT3048 区间按位或

思路&#xff1a; 使用ST表。ST表求区间最大值改为按位或即可。 ST模板可参考MT3024 maxmin 代码&#xff1a; 1.暴力6/10 #include <bits/stdc.h> using namespace std; const int N 2e5 10; const int M 5e5 10; int n, m; int num[N]; int main() {cin >&…

从 ASCII 到 UTF-8 - Unicode 码的诞生与实现

前言&#xff1a;最近我在整理过往笔记时&#xff0c;发现涉及到了 UTF-8、Unicode 的相关内容&#xff0c;相信大家中的很多人和之前的我一样&#xff0c;在过去的很长一段时间里&#xff0c;并没有搞清楚什么是 Unicode、什么是 UTF-8&#xff0c;于是就有了这篇文章&#xf…

腾讯面试:如何提升Kafka吞吐量?

面试题大全&#xff1a;www.javacn.site Kafka 是一个分布式流处理平台和消息系统&#xff0c;用于构建实时数据管道和流应用。它最初由 LinkedIn 开发&#xff0c;后来成为 Apache 软件基金会的顶级项目。 Kafka 特点是高吞吐量、分布式架构、支持持久化、集群水平扩展和消费组…

RK平台ADB不识别问题排查

简介 ADB是Android系统的调试工具&#xff0c;一般用USB线连接开发板和PC&#xff0c;可以抓取开发板的调试日志&#xff0c;执行shell指令&#xff0c;传输文件等功能。为了调试方便&#xff0c;RK平台的Linux系统也默认支持ADB&#xff0c;其源码是从Android移植过来的。 本…

「浏览器」跨站请求伪造CSRF攻击的原理以及防范措施

前言 HTTP 是一个无状态的协议&#xff0c;比如需要账号密码登录的网站这个场景&#xff0c;为了避免每次都需要重复输入&#xff0c;有一种方案就是Cookie&#xff0c;具体使用不做赘述&#xff0c;但是这样带来了一些安全问题。跨站请求伪造&#xff08;CSRF&#xff09;攻击…

Java日志体系概述

一. 日志体系分类 1.1 功能分类 1.2 jar包分类 二. 以log4j2为例 2.1 slf4j-api的初始化动态绑定过程 一. 日志体系分类 1.1 功能分类 门面类 slf4j&#xff1a;Simple Logging Facade for Java&#xff0c;为java提供的简单日志Facade具体实现类 logbacklog4j1log4j2jul&…

Windows下切换不同版本的CUDA

在环境变量处将需要使用的CUDA版本的如图所框选的环境变量移到其他版本环境变量的前方即可 PS&#xff1a;改环境变量后重启命令行再查看版本~

Three.js是基于原生WebGL封装的三维引擎

Three.js: 基于原生WebGL封装的三维引擎 引言 随着互联网技术的发展&#xff0c;Web前端技术不断进步&#xff0c;用户对于网页交互体验的要求也越来越高。艾斯视觉前端开发&#xff1a;三维技术作为提升用户体验的重要手段之一&#xff0c;正在逐渐成为前端开发中的热门技术…

pdf只要其中一页 pdf只要第一页怎么办 pdf只要前几页怎么弄

在现代办公环境中&#xff0c;PDF文件已经成为我们日常工作中不可或缺的一部分。然而&#xff0c;有时我们可能只需要PDF文件中的某一页&#xff0c;而不是整个文件。这时&#xff0c;我们该如何操作才能只获取所需的那一页呢&#xff1f;本文将详细操作方法&#xff0c;帮助大…

Spark中的累加器与广播变量及blockmanager图解

一、累加器 1、累加器的引入 案例&#xff1a;没读取一条文件中的数据&#xff0c;count1&#xff0c;并打印在Drive端&#xff08;控制台&#xff09; import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.rdd.RDDobject Demo20Accumulator {def ma…

应用弹窗优先级

背景 由于活动业务越来越多,积累的弹窗越来越多和杂乱,出现如下弹窗交互问题: 弹窗无限重叠,影响操作 弹出顺序无优先级,重要弹窗被隐藏 原因相信大家都一样,产品是一次次迭代的,也可能是不同人开发的,两个毫不相关的业务,弹窗时机也没有任何关联,重不重叠我怎么控制…

有效运营企业内部社区的板块有哪些?

随着企业内部沟通和协作的重要性日益凸显&#xff0c;建立一个高效运营的企业内部社区成为越来越多企业的首要任务。针对不同的需求和目标&#xff0c;将企业内部社区分为多个板块&#xff0c;可以更好地促进员工之间的沟通、协作和共享知识。下面介绍如何从分多个板块创建的角…

SQL注入攻击是什么?如何预防?

一、SQL注入攻击是什么&#xff1f; SQL注入攻击是一种利用Web应用程序中的安全漏洞&#xff0c;将恶意的SQL代码插入到数据库查询中的攻击方式。攻击者通过在Web应用程序的输入字段中插入恶意的SQL代码&#xff0c;然后在后台的数据库服务器上解析执行这些代码&#xff0c;从而…