上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 42 下一页
摘要: 当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感。 解决方案一: 于是怀疑Mysql的问题。做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。 通过查询资料发现需要设置collate(校对) 。 colla 阅读全文
posted @ 2021-12-15 22:40 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: pt-archiver相信大家都非常熟悉了,该工具可以按指定条件导出数据到文件,也可以按指定条件清理数据,同时也可以按条件把数据归档到另外一个表。最近在工作中无意发现在某种场景下会导致归档数据丢失。 下面建立表复现数据丢失的场景: 通过把表t1的数据归档到t2,条件是insert_time >= " 阅读全文
posted @ 2021-12-15 22:33 屠魔的少年 阅读(11) 评论(0) 推荐(0)
摘要: 简介 go-sniffer 可以抓包截取项目(MySQL、Redis、MongoDB)中的请求并解析成相应的语句,并格式化输出。类似于在之前的文章 MySQL抓包工具:MySQL Sniffer【转】中介绍的mysql-sniffer。而 go-sniffer 可以对更多数据库进行抓包分析,现在来介 阅读全文
posted @ 2021-12-14 23:17 屠魔的少年 阅读(7) 评论(0) 推荐(0)
摘要: 前言 当提到MySQL数据库的时候,我们的脑海里会想起几个关键字:索引、事务、数据库锁等等,索引是MySQL的灵魂,是平时进行查询时的利器,也是面试中的重中之重。 可能你了解索引的底层是b+树,会加快查询,也会在表中建立索引,但这是远远不够的,这里列举几个索引常见的面试题: 1、索引为什么要用b+树 阅读全文
posted @ 2021-12-14 23:11 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 在上篇文章《MySQL表结构变更,不可不知的Metadata Lock》中,我们介绍了MDL引入的背景,及基本概念,从“道”的层面知道了什么是MDL。下面就从“术”的层面看看如何定位MDL的相关问题。 在MySQL 5.7中,针对MDL,引入了一张新表performance_schema.metad 阅读全文
posted @ 2021-12-14 23:06 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 前言 MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。阿里云RDS专家服务团队帮助云上客户解决过很多紧急问 阅读全文
posted @ 2021-12-14 23:02 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: 前言 pt-fk-error-logger,通过定时拉取和解析show engine innodb status相关信息,并将错误信息打印在屏幕 或 写到日志文件 或 写到表,从而实现将所有发生的违反外键约束错误都保存下来;该工具默认是永久运行的,除非设置了--run-time 或 --iterat 阅读全文
posted @ 2021-12-14 22:41 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 前言 pt-find这个工具,和Linux find命令类似,通过SHOW TABLE STATUS方式,查找特定的表并执行一些SQL语句,对于日常运维工作也是有比较大的帮助。 pt-find 基本用法 (1)基本语法 pt-find [OPTIONS] [DATABASES] (2)常见选项 -- 阅读全文
posted @ 2021-12-14 22:40 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 前言 pt-fingerprint是Percona Toolkit工具集的其中一个,可以将SQL语句格式化为抽象化形式,可以用于数据脱敏等场景,接下来我们看一下。 pt-fingerprint 基本用法 (1)基本语法 pt-fingerprint [OPTIONS] [FILES] (2)常见选项 阅读全文
posted @ 2021-12-14 22:39 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: 前言 相信大多数DBA都遇见过这样一个场景:开发同事给到一个非常大的SQL文件,里面包含了几千万甚至几亿行记录,这个时候我们应该怎么处理呢?如果直接导入的话,一方面串行执行效率比较低,另一方面大事务也可能导致主从复制延迟。pt-fifo-split这个工具,可以对大文件进行切割,就可以很好解决这个问 阅读全文
posted @ 2021-12-14 22:38 屠魔的少年 阅读(6) 评论(0) 推荐(0)
摘要: 前言 在数据库中,索引可以加快查询速度,但是索引并不是越多越好,索引过多会带来额外的维护成本,降低DML操作的效率。pt-duplicate-key-checker这个工具,通过SHOW CREATE TABLE检查每一张表,找出其中重复/冗余的索引。 pt-duplicate-key-checke 阅读全文
posted @ 2021-12-14 22:36 屠魔的少年 阅读(6) 评论(0) 推荐(0)
摘要: 前言 数据库的死锁,是开发和DBA都非常关注的信息,但是在MySQL中,查看死锁信息却不是非常方便,通过show engine innodb status只能查看最近一次发生的死锁信息,之前的死锁信息会被覆盖掉;这时候我们可以利用pt-deadlock-logger这个工具实现这个需求。 pt-de 阅读全文
posted @ 2021-12-14 22:36 屠魔的少年 阅读(3) 评论(0) 推荐(0)
摘要: pt-config-diff 基本用法 (1)基本语法 pt-config-diff [OPTIONS] CONFIG CONFIG [CONFIG...] (2)配置文件之间的对比 pt-config-diff /etc/my-1.cnf /etc/my-2.cnf (3)配置文件和系统变量之间的 阅读全文
posted @ 2021-12-14 22:35 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 前言 在日常工作中,时不时会收到内存使用率高的告警,那么我们应该如何处理呢?本文将从Linux和MySQL两个层面,介绍内存管理的相关知识点,希望能给大家带来一些帮助,以便更好地应对内存问题。 如何看懂内存指标 遇到内存问题,可以先通过free、vmstat、top等命令,进行检查。free命令,可 阅读全文
posted @ 2021-12-14 22:34 屠魔的少年 阅读(9) 评论(0) 推荐(0)
摘要: 前言 所谓全文索引,就是一种通过建立倒排索引,快速匹配文档内容的方式。和B+树索引一样,倒排索引也是一种索引结构,一个倒排索引是由文档中所有不重复的分词和其所在文档的映射组成。倒排索引一般有两种不同的结构,一种是inverted file index,另一种是full inverted index。 阅读全文
posted @ 2021-12-14 22:32 屠魔的少年 阅读(1) 评论(0) 推荐(0)
摘要: 背景 在日常的使用过程中,时不时会遇到个别,或者大量的连接堆积在 MySQL 中的现象,这时一般会考虑使用 kill 命令强制杀死这些长时间堆积起来的连接,尽快释放连接数和数据库服务器的 CPU 资源。 问题描述 在实际操作 kill 命令的时候,有时候会发现连接并没有第一时间被 kill 掉,仍旧 阅读全文
posted @ 2021-12-14 22:29 屠魔的少年 阅读(12) 评论(0) 推荐(0)
摘要: 前言 在日常工作中,发现 MySQL 的状态不太对劲的时候,一般都会看看监控指标,很多时候会看到熟悉的一幕:CPU 使用率又爆了。本文会简单介绍一下 MySQL 和 CPU 之间的关系,对此有一些了解之后可以更准确的判断出问题的原因,也能够提前发现一些引发 CPU 问题的隐患。 怎么看懂 CPU 使 阅读全文
posted @ 2021-12-14 22:28 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: 问题交代 在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。 SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中, 阅读全文
posted @ 2021-12-14 21:55 屠魔的少年 阅读(1) 评论(0) 推荐(0)
摘要: 1、问题现象 我的网站前段时间经常时不时就抽风一下,提示数据库无法连接,提示: 建立数据库连接时出错 本想反正是个人网站,挂就挂了,无所谓啦;也可能是VPS配置太低,访问量一大就容易出问题,忍忍算啦。 后来启荣大师说了一句话:看那木匠做的烂门 😓(⊙﹏⊙)b 于是下决心解决问题,不能再被鄙视啦,作 阅读全文
posted @ 2021-12-14 21:47 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 1 连接检测 连接失败检测:当监控组件无法连接到 Redis 实例时,则触发告警。 客户端连接数:执行 info clients 命令获取 connected_clients 就是客户端连接数。 2 变量检测 maxmemory:执行 config get maxmemory 获取配置的最大内存,判 阅读全文
posted @ 2021-12-12 14:40 屠魔的少年 阅读(6) 评论(0) 推荐(0)
摘要: 1 背景 Hotkey 指某个时间段访问频率比较高的键值,对应的业务比如热点话题或者热点商品。 Hotkey 可能会导致集群流量不均衡,或者某一个节点 QPS、网卡流量被打满。 因此需要考虑一些措施来降低 Hotkey 出现的概率,比如在编码阶段避免产生 Hotkey,或者提前准备出现 Hotkey 阅读全文
posted @ 2021-12-12 14:36 屠魔的少年 阅读(11) 评论(0) 推荐(0)
摘要: 1 什么是 Bigkey 下面这两种情况,在很多互联网公司都被认为是 Bigkey: 字符串类型:一般认为超过 10 KB 就是 Bigkey 非字符串类型:哈希、列表、集合、有序集合,体现在元素个数过多,比如超过 5000 个。 2 Bigkey 的危害 Bigkey 存在很多危害,具体体现在以这 阅读全文
posted @ 2021-12-12 14:36 屠魔的少年 阅读(8) 评论(0) 推荐(0)
摘要: AOF(Append Only File) 日志是写后日志,Redis 会先执行命令,把数据写入内存,然后才记录日志。 1 开启 AOF 日志 在 Redis 的配置文件中,设置以下两个参数即可开启 AOF: appendonly yesappendfilename "appendonly.aof" 阅读全文
posted @ 2021-12-12 14:26 屠魔的少年 阅读(3) 评论(0) 推荐(0)
摘要: 1 生成 RDB 的方式 两个命令可以生成 RDB 文件:save 和 bgsave save:在主线程中执行,会导致阻塞,线上环境不建议使用 bgsave:创建一个子进程,专门用于写入 RDB 文件,避免了主线程的阻塞,这也是 Redis RDB 文件生成的默认配置。 bgsave 为了保证快照完 阅读全文
posted @ 2021-12-12 14:22 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: Redis 最为突出的特性就是:执行命令的速度非常快(原因是所有数据都存放在内存中)。但是单机 Redis 总会遇到瓶颈的,比如:并发、流量、内存等。在 Redis 3.0 之前,官方并没有提供集群方案,在访问量比较大的情况,基本使用的是 Twemproxy、Codis 等集群方案。直到 Redis 阅读全文
posted @ 2021-12-12 14:21 屠魔的少年 阅读(11) 评论(0) 推荐(0)
摘要: 1 会话相关的管理语句 我们经常需要确定数据库当前正在执行的 SQL,CH 提供了一些系统表用于记录这些信息,具体用法如下: 1.1 获取活跃会话 SELECT query_id, user, address, elapsed, query FROM system.processes ORDER B 阅读全文
posted @ 2021-12-12 14:18 屠魔的少年 阅读(10) 评论(0) 推荐(0)
摘要: 1 安装 Grafana Red Hat、CentOS 系统使用如下方式安装(这一节操作系统使用的是:CentOS 7.4): wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpmyum install grafana- 阅读全文
posted @ 2021-12-12 14:02 屠魔的少年 阅读(6) 评论(0) 推荐(0)
摘要: 1 安装 MySQL 8.0 安装参考:https://dev.mysql.com/doc/refman/8.0/en/linux-installation.html 2 安装 ClickHouse ClickHouse 单机版安装参考:https://clickhouse.tech/docs/zh 阅读全文
posted @ 2021-12-12 13:51 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: 1 Kafka 基础环境搭建 因为主要是为了测试数据同步,因此 Kafka 只简单安装了单机版本。 1.1 安装 JDK cd /usr/src 在这里[https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.htm 阅读全文
posted @ 2021-12-12 13:30 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 首先我们来看下官方文档对 alter table 语句的解释。alter table 语句有七个不同的阶段事件,每个事件在其不同的阶段执行,具体如下: stage/innodb/alter table (read PK and internal sort):当 ALTER TABLE 处于读取主键阶 阅读全文
posted @ 2021-12-12 11:47 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: # 只打印-查杀select大于30s的会话 pt-kill --host=127.0.0.1 --port=3306 --user=root --password=rootpwd --match-db='machine' --match-info "select|SELECT" --busy-ti 阅读全文
posted @ 2021-12-12 11:44 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: 大数据时代的到来,数据成为企业最重要的资产之一,数据加密的也是保护数据资产的重要手段。本文主要在结合学习通过MySQL函数及Python加密方法来演示数据加密的一些简单方式。 01准备工作 为了便于后面对比,将各种方式的数据集存放在不同的表中。 创建原始明文数据表 /* 创建原始数据表 */ CRE 阅读全文
posted @ 2021-12-12 11:36 屠魔的少年 阅读(3) 评论(0) 推荐(0)
摘要: 简介 用过MySQL数据库朋友一定对“ERROR 1040 (HY000): Too many connections”,这个报错不陌生,出现这个报错的原因有两种情况,一种是单个用户的连接数超过“max_user_connections”参数定义值,另外一种情况是,所有应用的连接数超过“max_co 阅读全文
posted @ 2021-12-12 11:35 屠魔的少年 阅读(6) 评论(0) 推荐(0)
摘要: pt-archiver功能介绍 pt-archiver有以下几个功能 按照过滤条件,将线上数据导出成归档文件 按照过滤条件,清理线上过期的历史数据 按照过滤条件,清理过期数据,并把数据归档到本地归档表,或者远端归档服务器的历史表 pt-archiver使用限制 使用pt-archiver工具,只有一 阅读全文
posted @ 2021-12-12 11:34 屠魔的少年 阅读(4) 评论(0) 推荐(0)
摘要: 1.假如变量参数在column_list.txt中 cat column_list.txt 1111 1111 2222 2222 3333 4444 2.假如要生成批量查询test表中id等于上述列表值的select语句。可以使用如下命令: cat column_list.txt | awk '{ 阅读全文
posted @ 2021-12-12 11:33 屠魔的少年 阅读(7) 评论(0) 推荐(0)
摘要: 什么情况下会出现数据不一致▼ 首先我们来谈一谈在什么情况下可能会引起主从数据的不一致性;在这一部分我会介绍几种常见的场景,可能会有没考虑到的场景,欢迎大家补充。 复制过程中实例宕机 复制过滤参数配置 Binlog非row格式 主从延迟过高 人为操作 从库发生写入操作 双主双写 MySQL主从版本不一 阅读全文
posted @ 2021-12-12 11:31 屠魔的少年 阅读(6) 评论(0) 推荐(0)
摘要: 1. Recycle_bin简介 recycle_bin是一款MySQL插件,可以在不修改任何MySQL代码的情况下,自动备份MySQL中被Drop的数据库/表,在出现人为误操作删表时,可以快速的进行恢复。实现灵感来源于Oracle flashback的功能,但是从功能完整性上来讲,还有较大的差距, 阅读全文
posted @ 2021-12-12 11:28 屠魔的少年 阅读(5) 评论(0) 推荐(0)
摘要: 默认情况下,我们的 MySQL 实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下 MySQL 设置只读相关知识。 1.关于 read_only 参数 MySQL系统中,提供有 read_only 和 super_read_on 阅读全文
posted @ 2021-12-12 11:23 屠魔的少年 阅读(12) 评论(0) 推荐(0)
摘要: 业务报错”Column ‘create_time’ cannot be null”,从字面意思可以理解为表字段’create_time’想插入null值,但报错该字段不能为null。由此引发了对explicit_defaults_for_timestamp这个有关时间参数的思考。 概念概述 1. T 阅读全文
posted @ 2021-12-12 00:31 屠魔的少年 阅读(6) 评论(0) 推荐(0)
摘要: 0. 背景 在业务低峰通过pt-osc在线做DDL期间出现死锁,导致业务的SQL被回滚了,对应用不友好。本案例死锁发生的场景:pt-osc拷贝最后一个chunk-size并且期间其它事务有对原表做insert操作,才会出现本案例的死锁。 1. 先简单介绍一下pt-osc的工作原理 创建一个跟原表表结 阅读全文
posted @ 2021-12-12 00:30 屠魔的少年 阅读(7) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 42 下一页