随笔分类 - MySQL
摘要:一、前提 世界千奇百怪,每个人都有自己独立的思想,有些事情即使你附耳告知,也可能如风般吹过,进而消逝,为了性能为了不延迟,表要加索引嘛,然而在某业务场景,业务表数千张,无索引的表几百张,这些表都是上百万的数据。 二、现象 在 GreatSQL 主从架构中,某天在系统资源充足的情况下,主从突然延迟,而
阅读全文
摘要:1 前言 在当今数据驱动的时代,数据库系统作为信息存储和管理的核心组件,其性能和可靠性直接影响着应用的稳定性和用户体验。MySQL,作为最流行的开源关系型数据库管理系统之一,被广泛应用于各类互联网应用中。然而,许多开发者和数据库管理员对其内部机制知之甚少,特别是在事务处理和日志管理方面。 事务的AC
阅读全文
摘要:今天Mysql从库日志抛以下note信息,起初是主库上这几天有很大的并发事务,导致从库延时非常大,但是从库并没有什么压力,我们来分析下这个问题。 2021-01-10T16:08:39.947611+08:00 85441 [Note] Multi-threaded slave statistics
阅读全文
摘要:一、问题来源 这个问题如下: image.png 朋友也分析了binlog发现并没有大事务的存在,且从库压力很小很小。下面我们稍微再来分析一下。 二、以往的说明 “Waiting for dependent transaction to commit” 由于协调线程判定本事务由于last commi
阅读全文
摘要:背景介绍 近来一套业务系统,从库一直处于延迟状态,无法追上主库,导致业务风险较大。从资源上看,从库的 CPU、IO、网络使用率较低,不存在服务器压力过高导致回放慢的情况;从库开启了并行回放;在从库上执行 show processlist 看到没有回放线程阻塞,回放一直在持续;解析 relay-log
阅读全文
摘要:异地多活是分布式系统架构设计的一座高峰,当业务系统走到需要考虑异地多活这一步,其体量和复杂度都会达到很高的水准。接入层、逻辑层、数据层的三层架构,基本上是每个业务都会拥有的基础架构形态,而三层架构的关键在于数据层,本文将从数据层切入探讨异地多活对于基础架构设计的影响。 关于基础架构 信息技术的发展,
阅读全文
摘要:row_count()row_count函数返回的是当前连接中最近一次操作数据库的所影响的行数,增删改语句都能对它有效果。 一定要是当前连接中,这个条件很重要!下面两条语句如果是用mysql客户端工具运行,一定要将两条sql全部选中一起运行才有效果。 delete from T where id=1
阅读全文
摘要:当 GreatSQL 数据库处于高并发高负载时,可能会发现 mysqld 进程的内存消耗远远超出设置的 innodb_buffer_pool_size 时,有时候甚至会高达甚至超过系统内存的90%,遇到这种问题时,心里经常会发慌,担心下一秒内存就会爆了发生 OOM,或者数据库hang死不响应。 本文
阅读全文
摘要:1、简单介绍该错误发生的背景: 1) 数据库版本:MySQL5.7.19 2) 对一个大表修改字段类型DDL(将主键id int变为bigint),为了不影响主库业务,先在从库上执行DDL操作,然后通过主从切换完成最终的大表DDL;在从库执行完DDL后,这时发现复制中断了,报错信息: 1 2 Las
阅读全文
摘要:因为MySQL主为5.5版本,从库为5.7版本,mysql表密码同步有问题。并且从库5.7开启了密码认证插件,造成同步后的用户用navicat登录报上图错误
阅读全文
摘要:数据丢失是每一个数据库管理员和开发者都不愿面对的噩梦。然而,意外总是难免,当不小心删除了重要的数据,如何才能迅速而有效地进行恢复呢?在数据库中有二进制日志 (Binlog),它不仅记录了所有更改数据的事件,还可以帮助将数据库恢复到任何一个特定的时间点。本篇文章将带您深入了解如何利用 Binlog 来
阅读全文
摘要:mysqldump文件中有SET @@SESSION.SQL_LOG_BIN= 0 mysqldump -uroot -pmypassword --all-databases>test.sql more test.sql -- MySQL dump 10.13 Distrib 5.7.21, for
阅读全文
摘要:1、授权MySQL存储过程执行权限 在项目中往往会用到存储过程来统计一些比较复杂的报表,如果数据库是mysql,则需要在执行存储过程前需要为用户添加权限,才可以,否则会提示: mysql User does not have access to metadata required to determ
阅读全文
摘要:众所周知,防止断电丢失 Binlog、故障恢复过程丢失数据,MySQL 主库必须设置 sync_binlog=1。那么作为备库可以例外吗? 我们的第一反应当然是不行,既然主库会丢数据,备库自然一样。但其实不然,备库丢了数据是可以重新从主库上复制的,只要这个复制的位置和备库本身数据的位置一致就 OK
阅读全文
摘要:在 MySQL 日常运维中,备份是一个必不可少的环节,最常用的一般则是 Percona XtraBackup 工具。 作者:徐文梁,爱可生 DBA 成员,公众号 [DBA 修行之路] 主理人。一个执着于技术的数据库工程师,主要负责数据库日常运维工作。擅长 MySQL,Redis 等数据库。喜欢垂钓,
阅读全文
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引
阅读全文
摘要:最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多。 为了节约成本,定期进行数据备份,并通过delete删除表记录。 明明已经执行了delete,可表文件的大小却没减小,令人费解 项目中使用Mysql作为数据库,对于表来说,一般为表结构和表数据。表结
阅读全文
摘要:前言 本文总结了主从复制的原理及日常运维的坑 1.主从复制简介 MySQL 复制是指从一个 MySQL 主服务器(master)将数据拷贝到另一台或多台 MySQL 从服务器(slaves)的过程,将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器上,然后在从服务器上对这些日志重新执
阅读全文
摘要:背景介绍 近来一套业务系统,从库一直处于延迟状态,无法追上主库,导致业务风险较大。从资源上看,从库的CPU、IO、网络使用率较低,不存在服务器压力过高导致回放慢的情况;从库开启了并行回放;在从库上执行show processlist看到没有回放线程阻塞,回放一直在持续;解析relay-log日志文件
阅读全文
摘要:1、什么是主从延迟? 本质是从库的回放跟不上主库,回放阶段的延迟 2、主从延迟常见的原因有哪些? 1、大事务,从库回放时间较长,导致主从延迟 2、主库写入过于频繁,从库回放跟不上 3、参数配置不合理 4、主从硬件差异 5、网络延迟 6、表没有主键或者索引大量频繁的更新 7、一些读写分离的架构,从库的
阅读全文