本文是 MySQL 简单查询语句执行过程分析 6 篇中的第 6 篇,第 1 ~ 5 篇请看这里: 1. 词法分析 & 语法分析 2. 查询准备阶段 3. 从 InnoDB 读数据 4. WHERE 条件 5. 发送数据给客户端
MySQL的参数很多,当出现问题时,往往就是某个参数在作祟,一方面说明MySQL的控制灵活,另一方面就要求熟知常用的参数作用,才能在出现问题的时候快速定位。
爱可生 DBA 团队成员,擅长故障分析、性能优化,个人博客:https://www.jianshu.com/u/a95ec11f67a8,欢迎讨论。
max_allowed_packet 表示 MySQL Server 或者客户端接收的 packet 的最大大小,packet 即数据包,MySQL Server 和客户端上都有这个限制。
最近打了 DDCTF和 国赛,发现都考了一个知识点,也就是 MysqlLocalInfile客户端文件读取这个漏洞,下面来详细的学习一个这个漏洞。
近期看到了很多大佬的面经,都问到了gopher扩展攻击面的知识,之前使用gopher利用过ssrf漏洞,但也仅仅停留在会用,并不是很了解,(今天挂着网课来总结一下),也算是逃课专业户了。
tcpdump在我们平时运维中充当了很重要的角色,对复杂问题的排查、分析起到了至关重要的作用,确实为运维中的一大利器。
tcpdump 是一款强大的网络抓包工具,dump the traffice on anetwork,对网络上的数据包进行截获的包分析工具。熟练掌握tcpdump 可以方便我们跟踪解决网络丢包,重传,数据库链路调用等问题。
$ mysql dbname < /tmp/dump.sql ERROR 1153 (08S01) at line 9424: Got a packet bigger than ‘max_allowed_packet’ bytes 这是我用来解决此问题的步骤。
大家好,我是ABC_123,本期分享一个真实案例。大约在两年前,有机会接触到一台红队扫描器设备(也可以理解为渗透测试机器人),我抱着好奇的心态去那里做了一下测试,感觉还不错。里面大概有4000多个漏洞利用exp,当然大部分都是nday漏洞,有一些未公开的1day漏洞,也有一些可能是0day漏洞,其中部分漏洞利用exp做了各种变形用来绕过waf,这些还是引起了我的兴趣。也是研究了两天,用了一个巧妙办法,欺骗这个扫描器发包,我在后台将所有的漏洞利用payload抓取到,整理成标准格式,放到了自己写的工具里面。
TCPCopy是一种重放TCP流的工具,使用真实环境来测试互联网服务器上的应用程序。
其实,在写这篇博客之前,我也是感觉自己会点优化,至少知道不要使用“*”号啊,给经常查询的列创建索引啊什么的,其实都不是大家想的那样简单的,其实它们背后存在很多的东西,值得我们去理解和学习。 和大家分享讨论一个问题吧,子查询和连接查询哪一个查询速度快?最重要的目的是能帮助大家在以后的开发路上不要再犯我这种的错误,看到就是赚到,哈哈。 我的答案是连接查询。因为这是我在前几天的实践项目中亲身体会到的,感触颇深,在给我们公司的网站首页执行了一条统计SQL语句,当时我是用子查询写的sql语句,第一次执行了21
想要编写mysql中间件,必须需要对mysql协议有所了解。mysql协议中间件。接下来会简单讲解一些基本协议,如果您想仔细了解,请您移步官方文档mysql protocol
tcpdump是一个功能强大的命令行数据包分析器,它是通过监听服务器的网卡来获取数据包,所有通过网络访问的数据包都能获取到。它也提供了过滤器的功能,可以获取指定的网络、端口或协议的数据包
1. 版本........................................................................................................................... 1
1>Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。
最近发现几个项目中都有批次插入数据库的功能,每个项目中批次插入的写法有一些差别,所以本文打算对Mysql的批次插入做一个详细的分析。
最大的难点在于内核驱动的编写,在此之前我也没有做过Linux内核模块的代码编写,所以刚开始做起来非常吃力,这要求代码编写者有非常好的C语言基础,能非常熟练地应用C语言的结构体、指针、函数指针及内存动态申请和释放等。 最困难的一点就是Bug的排查太过于困难了。每次编译运行的时候都提心吊胆,害怕跑起来哪里出错了,一旦出错,比如解引用了空指针或者没有及时释放分配的内存导致内存泄漏,动辄就会导致内核程序崩溃,只能重新启动虚拟机(重启虚拟机太浪费时间了),因为是内核程序,所以内核崩溃故障的定位和排查也不容易(到现在这个程序其实还不太稳定)。
为了让大家理解 B+Tree 索引的存储和查询的过程,接下来我通过一个简单例子,说明一下 B+Tree 索引在存储数据中的具体实现。
IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写,本文讲些IP的冷知识
在上一篇文章中,我讲了网络 IO 的基础知识,本篇文章将从源码角度具体讲解 DBLE 的网络模块:包括 DBLE 是如何处理 MySQL 包的,多路复用在 DBLE 中是如何实现的,以及请求的异步化处理相关逻辑。
MySQL DBA,擅长 python 和 SQL,目前维护着 github 的两个开源项目:mysqltools 、dbmc 以及独立博客:https://www.sqlpy.com。
MySQLTuner是一个用Perl编写的脚本,帮助你提高MySQL性能及稳定性。它通过检索当前配置变量和状态数据,提供一些基本性能建议。
这篇文章记录了给 Apache 顶级项目 - 分库分表中间件 ShardingSphere 提交 Bug 的历程。
Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制。 接收包从输入接口进来后,经过流量限制丢弃不符合规定的数据包,由输入多路分配器进行判断选择:
2020年即将结束,网络工程师或管理员也将迎来崭新的年度。那么,奋战在网络维护一线的小伙伴们应该掌握什么样的软件才能真正搞好网络维护,让网络正常运营呢?
目录 Java集合包 01. HashMap的底层数据结构是什么? 02. JDK1.8中对hash算法和寻址算法是如何优化的? 03.HashMap是如何解决hash碰撞问题的? 04.说说HashMap是如何进行扩容的? 05.ArrayList,LinkedList,TreeMap,LinkedHashMap,HashSet等底层的数据结构和各自的优势和劣势? 06.equals和hashcode之间的关系? Java并发编程 00.BAT面试官为什么都喜欢问并发编程的问题? 01.JAVASE多线程基础回顾 多线程概述 多线程的好处和弊端 多线程创建的方式 线程状态 多线程安全问题 线程间通信 02.synchronized关键字的底层原理(基础)以及跟lock锁之间的区别? 03.聊聊你对CAS的理解以及底层实现原理? 04.ConcurrentHashMap实现线程安全的底层原理是什么? 05.对JDK中的AQS了解吗?AQS的实现原理是什么? 06.说说线程池的底层工作原理? 07.说说线程池的核心配置参数是干什么的?应该怎么用? 08.如果在线程中使用无界阻塞队列会发生什么问题?等同于问,在远程服务异常的情况下,使用无界阻塞队列,是否会导致内存异常飙升? 09.线程池的队列满了之后,会发生什么? 10.如果线上机器突然宕机,线程池的阻塞队列中的请求怎么办? 11.谈谈对JAVA内存模型的理解? 12.说说JAVA内存模型中的原子性、有序性、可见性? 13.能从JAVA底层角度聊聊volatile关键字的原理么? 14. 你知道指令重排、内存栅栏以及happens-before这些是什么么? 15.volatile底层是如何基于内存屏障保证可见性和有序性的? 16.能说说ThreadLocal的底层实现原理么? Spring 01.说说你对Spring的IOC机制的理解可以嘛? 02.说说你对spring的AOP机制的理解? 03.了解过cglib动态代理吗?他跟jdk动态代理的区别是什么? 动态的代理的特点 动态代理的两种实现方式 基于接口的动态代理 基于子类的动态代理 两者之间的区别 04.能说说Spring中的Bean是线程安全的吗? 05.Spring的事务实现原理是什么?能聊聊你对事务传播机制的理解么? 06.能说说Spring中使用了哪些设计模式吗? 07.能画一张图说一说springMvc的核心架构么? JVM 01.JVM中有哪几块内存区域?Java 8 之后对内存分代做了什么改进? 02.你知道JVM是如何运行起来的吗?我们的对象是如何分配的? 03.说说JVM在哪些情况下会触发垃圾回收可以吗? 04.说说JVM年轻代的垃圾回收算法?对象什么时候转移到老年代? 05.说说老年代的垃圾回收算法?常用的垃圾回收器都有什么? 06.你们生产环境中的Tomcat是如何设置JVM参数的?如何检查JVM运行情况的? 07.你在实际项目中是否做过JVM GC优化,怎么做的? 08.谈谈你对java跨平台性的理解?为什么java可以一次编译到处运行? 网络 01.你能聊一聊TCPIP四层网络模型嘛?OSI七层网络模型也要说一下! 物理层 数据链路层 网络层 传输层 应用层 02.浏览器请求www.baidu.com的全过程大概是怎么样的? 宏观 微观 03.TCP三次握手和四次挥手的流程图?为啥不是两次或者五次呢? 04.说一下http的工作流程?http1.0,http1.1,http2.0具体有哪些区别? 05.聊聊https的工作原理?为啥用https就可以加密通信? 06.什么是长连接?http长连接是什么? 07.聊聊Socket的工作原理?Socket跟TCP IP之间是啥关系? 08.进程间通信?线程间切换? 数据库 01.MySQL MylSAM 和 InnoDB存储引擎的区别是啥? 02.MySQL索引的原理和数据结构能介绍一下么?b+树和b-树有什么区别?MySQL聚簇索引和非聚簇索引的区别是什么?他们分别是如何存储的?使用MySQL索引都有哪些原则?MySQL复合索引如何使用? 03.说说事务的几个特性是什么?有哪几种隔离级别? 面试题 面试官心里分析 面试题剖析 3.1 事务的ACID 3.2 事务隔离级别 04. 你能说说MySql数据库锁的实现原理吗?如果死锁了怎么办? 05.MySQL的SQL调优一般都有哪些手段?你们一般怎么做? 面试题 面试官心里分析 面试题剖析 06.分库分表、读写分离和主备切换分别是如何实现的? 设计模式 单例设计模式 Mybatis 01.Mybatis中的延迟加载 02.M
总第514篇 2022年 第031篇 全量SQL(所有访问数据库的SQL)可以有效地帮助安全进行数据库审计,帮助业务快速排查性能问题。一般可通过开启genlog日志或者启动MySQL审计插件方式来进行获取,而美团选用了一种非侵入式的旁路抓包方案,使用Go语言实现。无论采用哪种方案,都需要重点关注它对数据库的性能损耗。 本文介绍了美团基础研发平台抓包方案在数据库审计实践中遇到的性能问题以及优化实践,希望能对大家有所帮助或启发。 1 背景 2 现状及挑战 3 分析及优化 3.1 数据采集端介绍 3.2 基础性
为了绘制网络拓扑图,Nmap的发送特制的数据包到目标主机,然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具
当我们希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理方式运行
Mysql在使用时不仅会受到自己的配置参数影响, 服务器硬件设施, 内核参数也会对性能有影响.
本文作者前亚马逊工程师,现58转转技术总监,持续分享个人的成长经历,希望为你的职场发展带来些新思路。 这篇文章记录了给 Apache 顶级项目 - 分库分表中间件 ShardingSphere 提交 Bug 的历程。 说实话,这是一次比较曲折的 Bug 跟踪之旅。10月28日,我们在 GitHub 上提交 issue,中途因为官方开发者的主观臆断被 Close 了两次,直到 11 月 20 日才被认定成 Bug 并发出修复版本,历时 20 多天。 本文将还原该 Bug 的分析过程,将有价值的经验和技术点进
今天分享一位同学,之前米哈游的春招实习的Java后端面经,主要考察了java+操作系统+mysql+网络,这四个方面,成功进入二面了。
快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。FastCGI致力于减少网页服务器与CGI程序之间交互的开销,从而使[服务器可以同时处理更多的网页请求。
蜜罐是网络攻防对抗中检测威胁的重要产品。防守方常常利用蜜罐分析攻击行为、捕获漏洞、甚至反制攻击者。同样,攻击方也可以通过蜜罐识别技术来发现和规避蜜罐,减少被防守方溯源。蜜罐环境能否迷惑攻击者一定程度上取决于搭建环境是否仿真,简单的环境容易被攻击者识破。现如今,弱口令依然是导致网络安全事件的主要因素,有时候一个弱口令可能导致企业被攻击者从外网打到内网。mysql蜜罐通过搭建一个简单的mysql服务,如果攻击者对目标客户进行3306端口爆破,并且用navicat等工具连接蜜罐服务器,就可能被防守方读取本地文件,包括微信配置文件和谷歌历史记录等等,这样很容易被防守方溯源。
目前,高级的rootkit技术可以帮助你在渗透中拿到一个shell后进行持久性控制。此外,还有供应商故意提供了一些植入后门,但那就是截然不同的故事了。尽管各式花样翻新的技术与代码层出不穷,可你还记得曾经用过的那些后门吗? 本文介绍了5种远程控制工具(Remote Administration Tools)RAT ,又称“后门”,这完全是根据作者个人喜好挑选的。这是我进行合法渗透测试时所使用的工具,它们对于验证渗透的持久性与测量防御手段的有效性提供了重要的帮助。 1.mod_rootme——Apache模块后
今天让同事去Beta环境实践模拟线上环境多机房异地备份,我们有一个统一登录的数据库,很多产品的登录都基于这个库做的统一登录,所以是比较重要的一个数据库,所以让他做前端代码和数据库的异地备份,代码好说,跟上线一样,从git库pull代码做同步更新就好,数据库则需要跨机房做异地远程同步并备份。
负载均衡集群介绍 主流开源软件LVS、keepalived、haproxy、nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用 keepalived的负载均衡功能其实就是lvs lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而nginx仅仅支持http,https,mail,haproxy也支持MySQL这种 相比较来说,LVS这种4层的更稳定,能承受更多的请求,而nginx这种7层的更加灵活,能实
爱可生 MySQL DBA 团队成员,熟悉 Oracle、MySQL 等数据库,擅长数据库性能问题诊断、事务与锁问题的分析等,负责处理客户 MySQL 及我司自研 DMP 平台日常运维中的问题,对开源数据库相关技术非常感兴趣。
说起MySQL优化的话,想必大部分人都不陌生了。在我们的记忆储备里也早已记住了这些关键词:避免使用SELECT*、避免使用NULL值的判断、根据需求适当的建立索引、优化MySQL参数......但是你对于这些优化技巧是否真正的掌握了及其相应的工作原理是否吃透了呢?在我们的实际开发过程中你能充分应用到吗?我觉得还有待考察。所以,本文将详细介绍MySQL优化技巧以及其相应的技术原理,希望大家看完以后,能更清楚直接的了解这些优化方案,并应用到我们的工作岗位中。
◆DPDK是什么 Intel® DPDK全称Intel Data Plane Development Kit,是intel提供的数据平面开发工具集,为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于Linux系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。具体体现在DPDK应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包,绕过了Linux内核协议栈对数据包处理过程。 ◆DPDK技术介绍 一、主要特点 1、UIO(L
PREROUTING链 – 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。
首先面试都是从小公司到大公司的过程,小公司主要为了练手,熟悉面试节奏,后面才去面大公司。尽量不要一开始就奔着大公司去,容易出现准备不足的情况。。。另外,算法是真的难!遇到的面试题也都记了下来,主要是php+go的部分面试题。部分问题附带答案,希望对大家找工作能有帮助。你要做的就是每天进步一点点。。。
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
作者 小禾才露尖尖角54 wired最近刊登了一篇详细描述有关Quantum的好文,披露了一些有关NSA Quantum系统的细节,其攻击能力令人印象深刻。 从本质上而言,Quantum是一个通用化
TCP/IP协议是非常重要的一个知识点,也一直是面试的高频题,当面试官问你,能说说TCP协议是怎么保证可靠传输的吗,你能回答上吗?
emcms是国内第一个开源外贸的网站管理系统,目前大多数的外贸网站都是用的semcms系统,该系统兼容许多浏览器,像IE,google,360极速浏览器都能非常好的兼容,官方semcms有php版本,asp版本,我们SINE对其安全检测的同时发现该系统存在高危的网站漏洞,该漏洞影响版本semcms 2.6 2.7 2.8,包括目前最新的semcms 3.2版本漏洞。
为什么三次: 主要是为了建立可靠的通信信道,保证客户端与服务端同时具备发送、接收数据的能力。
提到mysql查询优化,很多人脑海里可能会想到NOT NULL、合理索引、不使用select *、合适的数据类型等等,可是这些优化技巧是怎么来的?
领取专属 10元无门槛券
手把手带您无忧上云