MySQL GTID全面总结
01 gtid简介 gtid,全称global transaction identifiers,也称之为全局事务id。mysql...
01 gtid简介 gtid,全称global transaction identifiers,也称之为全局事务id。mysql...
这个周忙的就像打仗一样,感觉有点被别人牵着鼻子走了,每天都是早出晚归,干不完的活儿,有时候感觉DBA这碗饭真的不好吃,要有强大的抗压能力和心理承受能力。今天下午吃饭的时候,真的感觉整个人快要垮掉...
前言: 在 mysql 运维过程中,锁等待和死锁问题是令各位 dba 及开发同学非常头痛的事。出现此类问题会造成业务回滚、卡顿等故障,特别是业务繁忙的系统,出现死锁问题后影响会更...
01 原子ddl介绍 原子ddl语句将数据字典更新、存储引擎操作和与ddl操作相关联的二进制日志写入合并到单个原子操作中。该操作要么提交,对数据字典、存...
这两天看到了两种可能会导致全表扫描的sql,这里给大家看一下,希望可以避免踩坑: 情况1: 强制类型转换的情况下,不会使用索引,会走全表...
今天在测试null值的时候,发现了一个小问题,记录在这里,不知道大家以前遇到过没。 事情发展是这样的,在过滤一个表中的数值的...
当前事务能读取到哪个历史版本? read view是事务开启时,当前所有事务的一个集合,这个数据结构中存储了当前read view中最大的id及最小的id。 这就是当前活跃事务列表,如下...
使用云服务器时,我们有时会连接数据库,但在使用Navicat Premium15来连接时,总会遇到报错。 常规连接方式,以腾讯云服务器中的MySQL5.6.50版本来介绍。 常规链接:...
上篇文章给大家介绍了查看mysql语句运行时间的2种方法,今天继续给大家介绍查看MySQL语句运行时间,感兴趣的朋友一起学习吧! Query Profiler是MYSQL自带的一种query...
启动与停止 启动mysql服务 sudo /usr/local/mysql/support-files/mysql.server start 停止mysq...
undo log 数据库事务开始之前,会将要修改的记录存放到 undo 日志里,当事务回滚时或者数据库崩溃时,可以利用 undo 日志,撤销未提交事务对数据库产生的影响。...
首先先简单的将一个查询语句背后mysql做了什么捋一捋: 客户端发送一条查询给服务器。 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一个阶段。...
在mysql优化的环节上,我们首先需要知道的就是我们当前的这句sql语句在实际的数据库中究竟是怎么执行的,才能谈要如何优化它。而在mysql中,就给我们提供了模拟语句执行的一个非常好用的关键字:...
mysql是我们日常生产与学习中最常接触到的数据库之一,今天讲一讲在mysql(或者说其他类似的数据库)中存在的隔离级别以及用来提高效率的多版本并发控制(mvcc)。 一、隔离级别 &n...
一、需求 我们有三张表,我们需要分类统计一段时间内抗生素的不同药敏结果,即 report_item_drugs 表的 drugs_result, 在不同项目project_name 和不同抗...
作者在使用mysql添加用户的时候,发现用户名给我写错了 强迫症的我,必须要改过来,但是发现删除用户的时候,命令是成功的 但是在此创建同名用户的时候,会报错,网上查了很多,说这是mysq...
目录 1、innodb_buffer_pool_size 2、innodb_log_buffer_size 1、查看 2、在配置文件中写上相关的参...
目录 1、rsync、cp拷贝文件 2、select xxx into outfile语法 3、延时从库 4、逻辑备份mysqldump 5、xtrabacku...
关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000w或100g以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重...
数据库为什么需要索引呢? 我们都是知道数据库的数据都是存储在磁盘上的,当我们程序启动起来的时候,就相当于一个进程运行在了机器的内存当中。所以当我们程序要查询数据时,必须要从内存出来到磁盘里面...
mysql中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(s...
文章思维导图 为什么使用主从复制、读写分离 主从复制、读写分离一般是一起使用的。目的很简单,就是为了提高数据库的并发性能。 你想,假设是单机,读写都在一台mysql上面完成,...
目录 存储过程简介 为什么要用存储过程? 存储过程的优点 存储过程的缺点 MySQL 中的存储过程 创建与调用过...
听说有个面试题是: 如何快速向mysql中插入1000w条数据? 我私下试了一下, 发现插入10000条数据用了0.9s, 插入10w条数据用了4.7s, 插入100w条数据用了58s左右,...
一、前言 数据库的数据量达到一定程度之后,为避免带来系统性能上的瓶颈。需要进行数据的处理,采用的手段是分区、分片、分库、分表。 二、分片(类似分库) 分片是把数据库横向扩展(scal...
首先下载安装包mysql官网下载地址,mysql是开源的,所以直接下载就行了。 这是下载步骤: 然后选择: 因为个人使用原因,我选择了这个: 下载之后,解压下载得到...
mysql的binlog日志是mysql日志中非常重要的一种日志,记录了数据库所有的dml操作。通过binlog日志我们可以进行数据库的读写分离、数据增量备份以及服务器宕机时的数据恢复。 定...
binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。对于开发者可能对bin...
binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。对于开发者可能对binlog并...
前言 下面这个报错,相信大多数童鞋都遇见过;那么碰到这个问题,我们应该怎么办呢?在mysql 5.7及之前版本,出现“too many connection”报错,超级用户root也无法登录...
实验环境: mysql 5.7.22 开启二进志日志 日志格式mixed 实验过程: 1、执行:flush logs; master-bin.000014 文...
前言 在mysql 8.0版本中,引入了一个非常有用的新特性 — 检查性约束,它可以提高对非法或不合理数据写入的控制能力;接下来我们就来详细了解一下。 检查性约束 ...
目录 一、场景说明: 二、案例演示: 2.1、确认MySQL故障前,库中的每张表有多少记录 2.2、模拟删除ibdata故障: 2....
面试官说:工作这么久了,应该知道sql执行计划吧,讲讲Sql的执行计划吧!看了看面试官手臂上纹的大花臂和一串看不懂的韩文,吞了吞口水,暗示自己镇定点,整理了一下思绪缓缓的对面试官说:我不会...
前言 前几天,有位朋友微信联系我,告知一个生产数据库,在机器宕机恢复后,实例启动失败,而且该实例没有做任何的高可用、容灾、备份等,对业务影响非常大,希望能够协助排查一下,我也在第一时间就加入...
前言 最开始了解mysql实现的时候,总听到redo log, wal(write-ahead logging),undo log这些关键词,了解到redo log主要是用于实现事务的持久化...
最近有一个服务出现了报警,已经让我到了忍无可忍的地步,报警信息如下: Metric:mysql.innodb_row_lock_waits Tags:port=4306,service...
程序员平时和mysql打交道一定不少,可以说每天都有接触到,但是mysql一张表到底能存多少数据呢?计算根据是什么呢?接下来咱们逐一探讨 知识准备 数据页 在操作系...
Truncate table语句用来删除/截断表里的所有数据 和delete删除所有表数据在逻辑上含义相同,但性能更快 类似执行了drop table和create table两...
一.查看数据库时区 ? 1 2 3 4 5 6 7 8 show variables like '%ti...
目录 写在前面 双向加密 ENCODE/DECODE AES_ENCRYPT/AES_DECRYPT DES_ENCRYPT/DES_D...
联合索引 本文中联合索引的定义为(mysql): ? 1 alter table `table_name` add index...
索引下推(index condition pushdown )简称icp,在mysql5.6的版本上推出,用于优化查询。 在不使用icp的情况下,在使用非主键索引(又叫普通索引或者二级索引)...
前言 order by 字段名 升序/降序,相信进来的朋友都认识这个排序语句,但遇到一些特殊的排序,单单使用字段名就无法满足需求了,下面给大家介绍几个我遇到过的排序方法: 一、准备工作...
目录 一.简介 1.1 原理 1.2 过程 1.3 特性 1.4 github地址 二.测试环境: 2...
最近在公司做项目,涉及到开发统计报表相关的任务,由于数据量相对较多,之前写的查询语句查询五十万条数据大概需要十秒左右的样子,后来经过老大的指点利用sum,case...when...重写sql性...
文章简介 今天分享一下MySQL中的sum函数使用。该函数已经成为大家操作MySQL数据库中时常用到的一个函数,这个函数统计满足条件行中指定列的和,想必肯定大家都知道了,本身就没什么讲头了,...
做分页查询: 1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merg...
这个可能是容易被忽略的问题,首选我们要清楚: mysql中,and的执行优先级高于or。也就是说,在没有小括号()的限制下,总是优先执行and语句,再执行or语句。 比如: ?...
我们可以通过mysql命令查看mysql的安装路径: ? 1 2 3 # 以下两个sql任意一个可查询 select @@...