08 2023 档案
摘要:MySQL 主从搭建 ## 复制相关参数sync_binlog=1log-bin=mysql-binexpire_logs_days=7binlog-format=rowbinlog_cache_size = 4Mmax_binlog_size = 512Mbinlog_rows_query_log
阅读全文
摘要:pg wget https://ftp.postgresql.org/pub/source/v14.4/postgresql-14.4.tar.gz --no-check-certificateyum install -y gcc xml2 readlinedev* zlib perldev* py
阅读全文
摘要:故障1 [ERROR] Plugin group_replication reported: 'This member has more executed transactions than those present in the group. Local transactions: bb8740
阅读全文
摘要:ES中的日期类型 Elasticsearch 在索引创建之前并不是必须要创建索引的mapping。关系型数据库的思维就是在于写入数据之前,并不强制创建表结构。我们不用事先声明字段名称,字段类型以及长度等属性就可以直接向一个不存在的表中直接写入数据。 Elasticsearch把这种特性称之为dyna
阅读全文
摘要:准备共享目录 mkdir /data/esbackupchown -R elasticsearch:elasticsearch /data/esbackupmount -t nfs 192.168.1.110:/data/esbackup /data/esbackupvi elasticsearch
阅读全文
摘要:配置查询 _cluster/settings_cluster/settings?flat_settings_cluster/settings?include_defaults_cluster/settings?include_defaults&flat_settings/_stats/fieldda
阅读全文
摘要:有些同学对MYSQL中两个看似相同功能的语句,在使用中感到疑惑,到底是功能重复还是各有各自的特点,我们需要弄清楚,并在合适的场合对他们加以利用。 我们通过几个操作来详细了解一下他们的使用方式和异同点 情况一, 判断当前ID 是否存在 ID = 1 的记录,如果有就更新数据,如果没有则插入记录 这里如
阅读全文
摘要:本系列文章介绍如何修复 Elasticsearch 集群的常见错误和问题。 这是系列文章的第二篇,主要探讨:Elasitcsearch CPU 使用率突然飙升,怎么办? 2、Elasticsearch 高CPU 使用率的内涵 线上环境 Elasticsearch CPU 使用率飙升常见问题如下: —
阅读全文
摘要:1、Doc Values 倒排索引在搜索包含指定term的doc时非常高效,但是在相反的操作时表现很差:查询一个文档中包含哪些term。具体来说,倒排索引在搜索时最为高效,但在排序、聚合等与指定filed相关的操作时效率低下,需要用doc_values。 倒排索引将term映射到包含它们的doc,而
阅读全文
摘要:# SELECT pg_relation_size(20306, 'main') AS main, pg_relation_size(20306, 'fsm') AS fsm, pg_relation_size(20306, 'vm') AS vm, pg_relation_size(20306,
阅读全文
摘要:查看表膨胀 TOP5SELECT current_database() AS db, schemaname, tablename, reltuples::bigint AS tups, relpages::bigint AS pages, otta, ROUND(CASE WHEN otta=0 O
阅读全文
摘要:PostgreSQL 最大的问题就是vacuum,只要PG的实现多版本和UNDO的方式不改变,那么这个话题就会一直继续,到永远。 前面四期讲了autovacuum 的触发条件,源代码,怎么调整参数,优化,今天最后一章,的说说怎么进行监控,并且评定你的autovacuum 的工作是合格的。下面的内容主
阅读全文
摘要:ostgresql 权限详解角色前言PostgreSQL使用角色的概念管理数据库访问权限。根据角色的设置方式,可以将角色视为数据库用户或数据库用户组。角色可以拥有数据库对象(例如,表和函数),并可以将对这些对象的权限分配给其他角色,以控制谁有权访问哪些对象。此外,还可以将角色的成员资格授予另一个角色
阅读全文
摘要:昨天,公司的某位熟悉业务和SQL的人员,着急忙慌的找我,说必须要解决一个线上的SQL的问题,发现数据对不上了,搞不定挨批事小,但数据错误事关重大。责无旁贷的赶紧和他一起分析这个SQL。 其实就是两个表,一个表中有另一个表的关联键,你可以认为是主外键关系(这里仅仅是关系,我没有说是主外键,或者绝对一一
阅读全文
摘要:mysql与pg的主键说明 mysql 插入顺序与插入随机测试案例 B+Tree 原理 id顺序的方式插入 id随机的方式插入 Postgresql 堆组织表 CTID Pg的元组及索引原理 Pg与mysql与oracel 问题 mysql 插入顺序与插入随机测试案例 创建了两张表 一张表是按顺序来
阅读全文
摘要:MySQL使用内存上升90%!在运维过程中50%的几率,会碰到这样的问题。算是比较普遍的现象。 MySQL内存使用率过高,有诸多原因。普遍原因是使用不当,还有MySQL本身缺陷导致的。到底是哪方面的问题,那就需要一个一个进行排查。 下面介绍排查思路: 1.参数配置需要确认,内存是否设置合理 MySQ
阅读全文
摘要:# 在/usr/lib/systemd/system/路径下创建mysql.service ]#vim /usr/lib/systemd/system/mysql.service [Unit] Description=MySQL server After=syslog.target network.
阅读全文
摘要:SQL优化主要从三个角度进行:(1)扫描方式;(2)连接方式;(3)连接顺序。 如果解决好这三方面的问题,那么这条SQL的执行效率就基本上是靠谱的。看懂SQL的执行计划的关键也是要首先了解这三方面的基本概念,只有搞清楚了这些基本概念,才能够更好的看懂SQL的执行计划,下面我们分别来学习这些预备知识。
阅读全文
摘要:mydumper及myloader用法mydumper -h 192.168.182.128 -u source -p 123456 -B source -t 8 -r 10000 -c --less-locking -v 3 -D -L /test/log/mydumper.log -o /tes
阅读全文
摘要:version: '3.3' services: mysql: image: mysql:8.0.20 ## 镜像 restart: always hostname: mysql container_name: mysql privileged: true ports: - 3306:3306 en
阅读全文
摘要:cd /home/xxxx mkdir -p prometheus chmod 777 prometheus cd prometheus mkdir -p grafana_data prometheus_data chmod 777 grafana_data prometheus_data dock
阅读全文
摘要:一 、Prometheus 源码安装和启动配置普罗米修斯下载网址:https://prometheus.io/download/监控集成器下载地址:http://www.coderdocument.com/docs/prometheus/v2.14/instrumenting/exporters_a
阅读全文
摘要:一、问题背景 业务反馈,数据库最近总是隔一段时间连接失败,过一会又没事了,一天能发生了 2、3 次,后来发现和主机传统大页的配置有关,具体原因是什么,请继续看。 二、环境背景: MySQL 5.6.25 vmware 虚拟机 CentOS 7.1 CPU 32C 内存 64G innodb_buff
阅读全文
摘要:Adaptive Hash Index(以下简称 AHI)估计是 MySQL 的各大特性中,大家都知道名字但最说不清原理的一个特性。本期图解我们为大家解析一下 AHI 是如何构建的。 首先我们思考一下 AHI 是为了解决什么问题: 随着 MySQL 单表数据量增大,(尽管 B+ 树算法极好地控制了树
阅读全文
摘要:Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis的延迟问题 一条命令执行过程 在本文场景下,延迟 (latency) 是指从客户端发送
阅读全文
摘要:Redis是一个基于内存的键值数据库,其内存管理是非常重要的。本文内存管理的内容包括:过期键的懒性删除和过期删除以及内存溢出控制策略。 最大内存限制 Redis使用 maxmemory 参数限制最大可用内存,默认值为0,表示无限制。限制内存的目的主要 有: 用于缓存场景,当超出内存上限 maxmem
阅读全文
摘要:一、本文想解决什么问题 二、如何识别需要排序 三、如何利用索引优化排序 四、排序的几种模式 4.1、实际trace结果 4.2、排序模式概览 4.2.1、回表排序模式 4.2.2、不回表排序模式 4.2.3、打包数据排序模式 4.2.4、三种模式比较 五、外部排序 5.1、普通外部排序 5.1.1、
阅读全文
摘要:前言 排序是数据库中的一个基本功能,MySQL也不例外。用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct语句都会隐含使用排序。本文首先会简单介绍SQL如何利用索引避免排序代价,然后会介绍MySQL实现排序的内部原理
阅读全文
摘要:《高性能MySQL》 里面提及用in这种方式可以有效的替代一定的range查询,提升查询效率,因为在一条索引里面,range字段后面的部分是不生效的(ps.需要考虑 ICP)。MySQL优化器将in这种方式转化成 n*m 种组合进行查询,最终将返回值合并,有点类似union但是更高效。 MySQL在
阅读全文
摘要:背景 一般说MySQL的索引,都清楚其索引主要以B+树为主,此外还有Hash、RTree、FullText。本文简要说明一下MySQL的B+Tree索引,以及和其相关的二叉树、平衡二叉树、B-Tree,相关的知识网上很多,为了方便自己更快、清楚的了解,文本聚合一些内容以及个人的一些理解。 说明 二叉
阅读全文
摘要:Docker 镜像是由多个文件系统(只读层)叠加而成。当我们启动一个容器的时候,Docker 会加载只读镜像层并在其上(镜像栈顶部)添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所
阅读全文
摘要:近几年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,这里整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。目前为止将数据
阅读全文
摘要:在使用、学习MySQL的时候我们需要下载不同的版本的MySQL ,之前我们可以使用sandbox 快速搭建单节点或者一主多从的数据库。现在可以尝试使用 docker 利用已经存在的镜像迅速搭建一个单实例的数据库。 搜索仓库 docker仓库拉取 mysql 8.0.22 选择 star最多的MySQ
阅读全文
摘要:RC级别: create table t1(id int primary key, name varchar(30));insert into t1 values(1, 'a'),(4, 'c'),(7, 'b'),(10, 'a'),(20, 'd'),(30, 'b');commit; 案例一
阅读全文
摘要:一 前言 之前的文章里面总结了很多死锁案例,其实里面有几篇文章对于insert加锁流程表述的不准确,而且微信公众号又无法修改,所以通过本文重新梳理insert加锁流程,最后加上一个死锁案例解析。 有个勤奋好学的同事特地找我咨询insert并发导致死锁的问题,我不方便说他的名字,就叫他鲁震宇吧,本文也
阅读全文
摘要:一 ss 是什么 ss 全称是Socket Statistics,用于显示各种socket的信息,ss命令功能和netstat类似,ss的优势在于它显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。ss 命令可以提供如下信息: 所有的TCP sockets所有的UDP s
阅读全文
摘要:CREATE TABLE `t8` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `d_id` varchar(40) NOT NULL DEFAULT '', `b_id` varchar(40) NOT NULL DEFAULT '', `is_dropp
阅读全文