mysql
文章平均质量分 93
solihawk
这个作者很懒,什么都没留下…
展开
-
数据库系列之MySQL数据库Varchar类型尾部空值问题
研发人员在执行SQL语句“select xx from tb where c1=’aaa ’”查询时,发现并不能只查询出’aaa ’这样的字符串,而是把所有’aaa’这样的查出来。首先不管开发人员在插入数据的时候有没有进行去掉首尾字符串的处理,在MySQL 8.0版本中查询时会忽略掉字符串最后的空格,所以导致’aaa’+空格作为查询条件时和’aaa’为同一效果原创 2024-06-03 08:56:02 · 613 阅读 · 0 评论 -
事务报错没有显示回滚导致DDL阻塞引发的问题
开发没有显示的处理事务的commit或rollback,阻塞了DDL语句的执行,进而引发数据库访问问题。原创 2024-05-27 08:36:31 · 380 阅读 · 0 评论 -
数据库系列之MySQL数据库中内存使用分析
在实际系统环境中,MySQL实例的内存使用随着业务的增长缓慢增长,有些时候并没有及时的释放。本文简要介绍下MySQL数据库中和内存相关的配置,以及分析内存的实际使用情况,以进行应急和调优处理。原创 2024-05-20 08:17:48 · 1399 阅读 · 0 评论 -
数据库系列之MySQL中Join语句优化问题
最近使用MySQL 8.0.25版本时候遇到一个SQL问题,两张表做等值Join操作执行很慢,当对Join连接字段添加索引优化后,执行效率反而变得更差,其中的原因值得分析。因此本文介绍下MySQL中常见的Join算法,并对比使用不同Join算法时候的性能情况。原创 2023-10-16 19:10:01 · 2800 阅读 · 0 评论 -
数据库系列之MySQL线程ID和操作系统线程ID对应关系
在日常运维工作中,MySQL数据库服务器出现SQL语句执行导致服务器CPU使用率突增,如何通过现有手段快速定位排查到哪个SQL语句,并采取应急措施。本文介绍基于传统的操作系统线程的CPU使用监控手段入手,利用操作系统线程ID和MySQL线程ID对应关系,逐步定位到异常SQL和事务。原创 2023-04-10 08:40:19 · 1715 阅读 · 0 评论 -
分布式数据库中间件Mycat介绍
从Cobar到Mycat,从闭源到开源,作为一个开源的分布式数据库中间件,Mycat已经被众多开源项目使用。本文简要介绍下Mycat的特性、基本架构以及分库分表和读写分离的配置。原创 2022-12-19 08:34:54 · 1660 阅读 · 0 评论 -
MySQL中多并发更新单条记录引发的死锁分析
锁机制是数据库系统保障数据的完整性和一致性的重要技术,各数据库存储引擎在实现机制上虽各有不同,但整体实现上是有异曲同工之妙。本文首先介绍mysql中锁类型以及死锁检测机制,并结合多并发场景下更新单条记录的死锁分析进行分析讨论,以了解背后的处理机制。原创 2022-03-23 12:22:20 · 6389 阅读 · 10 评论 -
数据库系列之InnoDB性能有关参数解析
InnoDB中像sync_binlog这样与事务日志有关的参数设置,对业务性能有着直接的影响,不同的设置是性能和安全的权衡考虑。本文列举了部分参数,并进行测试验证,通过测试结果对比理解不同参数值设置的影响。原创 2021-12-25 10:37:21 · 2172 阅读 · 0 评论 -
数据库系列之MySQL表ibd文件删除恢复
前段时间遇到过因为mysql表ibd文件被删除后的应急处理,直接删除表文件是严厉禁止的操作,这里测试下几种情况下的应急恢复过程。原创 2021-12-08 08:50:05 · 6042 阅读 · 0 评论 -
数据库系列之MySQL和TiDB中慢日志分析
慢日志主要用来记录在数据库中执行时间超过指定时间的SQL语句。通过慢查询日志,可以查找出哪些语句的执行效率低,以便进行优化。本文简要介绍了MySQL和TiDB中的慢日志结构,通过横向对比加深对分布式数据库慢日志结构的理解。原创 2021-10-24 13:21:27 · 3451 阅读 · 0 评论 -
数据库系列之MySQL中的执行计划
执行计划是SQL在数据库中执行情况的客观反映,也是SQL性能分析和优化的参考。本文简要介绍了MySQL中的执行计划有哪些内容,以引申到后续分布式数据库中执行计划的探索。原创 2021-10-14 08:46:44 · 7503 阅读 · 2 评论 -
数据库系列之MySQL中的分页查询优化
分页查询的效率在数据量大的时候尤为重要,影响到前端响应和用户体验。本文简要测试了几种分页查询优化的方法,适用于数据库开发性能优化场景。原创 2021-09-30 19:05:59 · 5589 阅读 · 1 评论 -
数据库系列之InnoDB中在线DDL实现机制
DDL变更时应用版本部署过程中的常见操作,在核心业务系统中DDL操作不能保证在线完成,是会影响业务7x24小时的。MySQL 5.6开始支持在线DDL的操作,解决了执行ddl锁表的问题,保证了在进行表变更时,不会堵塞线上业务读写,保障在变更时,库依然能正常对外提供访问。本文简要介绍在线DDL的原理以及DDL原子性的实现,加深理解。原创 2021-09-23 08:58:44 · 1747 阅读 · 1 评论 -
数据库系列之MySQL配置F5负载均衡
F5负载均衡是网络控制设备将负载均衡的分发到多个操作单元,本文在虚拟机环境部署F5虚拟机,并配置TCP和兼容mysql协议探测方式连接mysql服务进行测试,以观察不同检测方式的影响。原创 2021-09-16 08:46:12 · 2387 阅读 · 0 评论 -
数据库系列之F5负载均衡配置
F5负载均衡是网络控制设备将负载均衡的分发到多个操作单元,本文在虚拟机环境部署F5虚拟机,并配置TCP和兼容mysql协议探测方式连接mysql服务进行测试,以观察不同检测方式的影响。原创 2021-09-15 19:44:33 · 3790 阅读 · 0 评论 -
数据库系列之InnoDB磁盘文件结构
InnoDB存储引擎包括内存部分结构和磁盘中的结构,在上一章节中介绍了内存部分,这里介绍磁盘中的文件,包括表空间文件、redo和undo log,并结合工具分析数据页的结构。原创 2021-09-04 19:31:53 · 1365 阅读 · 1 评论 -
数据库系列之InnoDB存储引擎解密
InnoDB的架构分为内存中的结构和磁盘上的结构,本文简要介绍了MySQL逻辑模块以及InnoDB存储引擎中的内存模块,加深对InnoDB存储引擎的理解。原创 2021-08-28 09:15:43 · 679 阅读 · 1 评论 -
数据库系列之MySQL中的SQL Mode介绍
SQL mode定义了不同的SQL语法操作,本文简要介绍了MySQL中的SQL mode类型及使用,结合具体案例使用加深理解,适用于兼容MySQL语法的分布式数据库。原创 2021-08-14 09:53:02 · 1860 阅读 · 1 评论 -
数据库系列之InnoDB中的主键选择
InnoDB存储引擎中主键的正确使用对插入性能会有很大的提升,本文简要介绍了innodb中主键和聚簇索引,以及建议自增列作为主键的理由。原创 2021-08-12 08:58:38 · 1233 阅读 · 0 评论 -
数据库系列之MySQL高可用MGR故障自动切换
本文简要测试了MGR+ProxySQL架构下的MySQL高可用架构,实现MGR架构下主节点故障时候的无感知切换。原创 2021-08-10 08:56:45 · 1743 阅读 · 0 评论 -
数据库系列之MySQL组复制MGR技术
MGR组复制是MySQL的一种高可用复制技术,用于构建高可用、高扩展和高容错的拓扑架构中。本文简要介绍MGR复制技术的原理,并配置多主模式进行测试。原创 2021-06-24 12:10:49 · 2928 阅读 · 0 评论 -
数据库系列之MySQL分布式事务原理及实现
本文简要介绍XA事务原理及MySQL和MyCAT中XA事务的实现,并使用Python程序案例进行测试验证。原创 2021-06-22 08:57:28 · 2438 阅读 · 0 评论 -
数据库系列之MySQL基于Mycat的分库分表实现
MySQL分库分表可以通过中间件Mycat实现,本文简要介绍了Mycat的几种分片策略mode、range和hash,并分别进行测试验证原创 2021-06-12 08:50:46 · 964 阅读 · 1 评论 -
数据库系列之MySQL基于Mycat实现读写分离
MyCAT原理MyCAT主要是通过对SQL的拦截,然后经过一定规则的分片解析、路由分析、读写分离分析、缓存分析等,然后将SQL发给后端真实的数据块,并将返回的结果做适当处理返回给客户端。原创 2021-06-08 15:08:05 · 278 阅读 · 0 评论 -
数据库系列之MySQL基于proxySQL实现读写分离
ProxySQL是基于MySQL的一款开源的中间件的产品,是一个灵活的 MySQL代理层,可以实现读写分离,支持Query路由功能,缓存查询结果、故障切换和一些SQL的过滤功能。原创 2021-06-08 15:07:15 · 310 阅读 · 0 评论 -
数据库系列之MySQL基于MySQL-proxy实现读写分离
MySQL-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server。它使用mysql协议,通过lua脚本实现sql拦截与修改、性能分析与监控、读写分离和请求路由等功能。原创 2021-06-08 15:06:06 · 672 阅读 · 0 评论 -
数据库系列之MySQL半同步复制技术
本文简要介绍了MySQL半同步复制技术及配置部署,以加深对MySQL半同步复制技术的理解。原创 2021-06-06 17:02:30 · 492 阅读 · 2 评论 -
数据库系列之MySQL主从复制集群部署
主从复制是MySQL集群部署中常用的架构,本文主要介绍MySQL主从集群架构的部署以及基于GTID主从复制的部署并进行测试验证。原创 2021-04-24 15:09:26 · 348 阅读 · 0 评论