前言: 记录对林晓斌老师的《MySQL 实战 45 讲》课程学习路程。 01 MySQL的基本架构 MySQL的逻辑架构图 MySQL 分为 Server 层和存储引擎层两部分。 Server 层 功能:实现所有 跨存储引擎 的功能,比如存储过程、触发器、视图等。 连接器、查询缓存、分析器、优化器、 ...
docker安装mysql docker仓库搜索mysql docker search mysql docker仓库拉取mysql8.0 docker pull mysql:8.0 // 默认拉取最新版本 docker pull mysql 查看本地仓库镜像是否下载成功 docker images ...
注意本文是SQL执行顺序,不是MySQL Server内部执行流程。 MySQL并非像PostgreSQL(被认为是最接近 SQL 标准的数据库之一)一样严格按照SQL标准,MySQL执行引擎会根据查询的具体情况和优化策略来决定具体的执行顺序,所以SQL执行顺序是理论顺序。 书写顺序 select. ...
开心一刻 今天我突然顿悟了,然后跟我妈聊天 我:妈,我发现一个饿不死的办法 妈:什么办法 我:我先养个狗,再养个鸡 妈:然后了 我:我拉的狗吃,狗拉的鸡吃,鸡下的蛋我吃,如此反复,我们三都饿不死 妈:你整那么多中间商干啥,你就自己拉的自己吃得了,还省事 我又顿悟了,回到:也是啊 说句很重要的心里话: ...
1 月 31 日,InfoQ 极客传媒合作伙伴年度盛典在北京举办,围绕“有被 Q 到”主题精彩展开。GreatSQL受邀参会,与诸多IT行业伙伴相聚一堂,共筑开发者生态,共话技术前沿与商业创新。 会议期间,InfoQ 为全国技术行业做出突出贡献的企业和项目进行了颁奖。GreatSQL 开源数据库社区 ...
本文介绍了如何通过子查询优化深度分页查询,以减少回表操作带来的性能损耗。传统的深度分页查询往往会面临严重的性能问题,尤其在处理大量数据时更是如此。 ...
MySQL Shell 8.0.32 for GreatSQL编译二进制包 构建MySQL Shell 8.0.32 for GreatSQL 0. 写在前面 之前已经写过一篇前传 MySQL Shell 8.0.32 for GreatSQL编译安装,最近再次编译MySQL Shell二进制包时, ...
本文深度解析MySQL的COUNT(1), COUNT(*),COUNT(列)计数方式,强调COUNT(*)的广泛应用与InnoDB存储引擎的优化。通过性能比较,揭示COUNT(id)在索引下的性能,通过技术细节揭示MySQL查询优化器的工作原理,最终总结适用场景,为读者提供计数方式选择的指导。 ...
环境 MySQL 5.7 非GTID模式多线程复制。 现象 某MySQL数据库从节点因故障宕机(因故障直接宕机,非正常关闭),重启之后发现复制状态异常,show slave的结果中Slave_SQL_Running为No,错误代码为1062 error code,从系统表performance_sc ...
原生的Mybatis框架是没有ID自增器,但例如国产的Mybatis Plus却是支持,不过,Mybatis Plus却是缺少了自定属性的填充;例如:我们需要自定义填充一些属性,updateDate、createDate等,这时Mybatis Plus自带的ID自增器就无法满足需求;这种时候我们就需 ...
XPATH报错注入 extractalue(arg1,arg2) 接受两个参数,arg1:XML文档,arg2:XPATH语句 条件:mysql5.1及以上版本 标准payload 1' and extractvalue(1,concat(0x7e,(select user()),0x7e))# x ...
两要素 用户能够控制输入的内容 web应用把用户输入的内容,在没有经过过滤或者严格过滤的情况下带入到数据库中执行 分类 GET和POST 整数型,字符型,搜索型 万能密码 ’1 or 1 = 1# 1 or 1 = 1# 注释符: -- (后面有空格) --+ %23 注入流程: 判断是否有注入信息 ...
流程控制语句需要借助存储过程才有效。关于存储过程,我会在后续的文章详述,本篇文章只是阐述流程控制语句。因此,大家只需要注意存储过程中相应的流程控制语句即可。 如果文中阐述不全或不对的,多多交流。 ...
MySQL是一种流行的开源关系型数据库管理系统(RDBMS)。它是基于结构化查询语言(SQL)的,支持多种操作系统,包括Linux、Windows、macOS等,适用于客户端/服务器模式的数据存储和管理。MySQL特别适合于Web应用的开发,并且与Java、Python等编程语言有着良好的兼容性。在... ...
不知不觉 2023 年已经是过去式了,本文将从产品迭代、丰收收获、生态合作、社区活动 4 个方面带大家了解 GreatSQL 社区的 2023。 01 产品迭代 2023 年是发展的一年。在这一年里,GreatSQL 社区版发布了 3 个版本:8.0.25-17、8.0.32-24 以及 8.0.3 ...
环境介绍: 这里的MySQL Innodb Cluster搭建环境如下所示,总共有三台机器搭建MySQL InnoDB Cluster: 操作系统: Red Hat Enterprise Linux release 8.8 (Ootpa) 数据库版本:8.0.35 MySQL Community S ...
简介 在MySQL数据库中,死锁是指多个事务同时竞争同一资源,并且彼此互相等待对方释放资源而无法继续执行的情况,导致数据库操作无法完成,从而以最小的成本自动回滚事务的行为。 排查 方法1 show engine innodb status; 执行以上命令会得到大量日志,在LATEST DETECTE ...
说明 遇见并发情况,需要保证数据的准确性,也就是与正确的预期一致,此时就会用到锁。 锁是在并发下控制程序的执行逻辑,以此来保证数据按照预期变动。 如果不加锁,并发情况下的可能数据不一致的情况,这是个概率问题。 乐观锁CAS 简介 乐观锁很乐观,假设数据一般情况不会造成冲突,属于程序层面的逻辑锁,在数 ...
mysqlbinlog是MySQL数据库中的一个实用程序,它用于处理二进制日志文件(也称为“binlogs”)。这些文件包含了在MySQL服务器上发生的所有更改和操作的信息。mysqlbinlog工具可以帮助你查看、分析或者应用这些日志。 基础介绍 下面是一些关于mysqlbinlog的基本介绍: ...
下面介绍三种用于进行排序的专用窗口函数: 1、RANK() 在计算排序时,若存在相同位次,会跳过之后的位次。 例如,有3条排在第1位时,排序为:1,1,1,4······ 2、DENSE_RANK() 这就是题目中所用到的函数,在计算排序时,若存在相同位次,不会跳过之后的位次。 例如,有3条排在第1 ...