1.场景准备2.开始测试3.问题分析4.问题拓展本文在测试 insert、insert ignore、replace into 三种数据插入方式的时候,发现插入数据的时候在表内存在带有“唯一特性”的值重复的情况下三种语句的处理方式。最终发现了MySQL主键自增值“空洞”了1.场景准备测试场景为MyS
1.引入2.传统方案介绍3.监控binlog实现"同步"更新4.总结1.引入先前介绍了ElasticSearch,以及ES配合MySQL的问题,这种方案是让ES上的数据根据MySQL的数据做对照从而形成对应的索引,再将数据通过处理和封装存放在ES当中。(可回顾:技术分析 | 浅析MySQL与Elas
一、Zabbix部署二、浏览器安装Zabbix三、Zabbix Agent 安装四、配置MySQL监控五、查看监控数据一、Zabbix部署1.配置Zabbix源# 1.下载rpm包rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/za
本文来源:原创投稿* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。前言innodb_buffer_pool_size可以调大,却不能调小至1GB以内,这是为什么?MySQL 版本:5.7.30测试环境有台 MySQL 服务器反应很慢,检查系统后发现内存使用量已超过90
MySQL InnoDB Cluster(简称MIC)是MySQL推出的整套解决方案,由几个部分组成:MySQL Server,核心是Group Replication(组复制),简称MGR。MySQL Shell,可编程的高级客户端,支持标准SQL语法、JavaScript语法、Python语法,
MySQL作为最流行的开源关系型数据库,有大量的拥趸。其生态已经相当完善,各项特性在圈内都有大量研究。每次新特性发布,都会有业界大咖对其进行全面审视、解读、研究,本文要讲的MySQL binlog解析也有很多的前辈开发过优秀的工具进行解析过(例如canal),本文再提旧案未免有造轮子嫌疑。但是我作为
一、简介在开始排错之前我们需要知道 Update 在 MySQL 中的生命周期是什么,MySQL 如何执行一个事务的。理解了如何执行,我们才知道如何去排查故障。二、Update 生命周期Server 层阶段2.1 连接器客户端发起一个 TCP 请求后,MySQL Server 端会负责通信协议处理、
一、测试环境搭建首先创建一张表,并插入几行数据字段:CREATE TABLE t (s1 INT, s2 char(100),PRIMARY KEY (s1));INSERT INTO t values(1,'aaa');INSERT INTO t values(2,'bbb');INSERT IN
SQL语句大家并不陌生,但某种程度上来看,我们只是知道了这条语句是什么功能,它可以给我们得到什么样的结果,但我们如果把这条语句写错或是数据库表设计上有什么缺陷,会引发什么错误我们却无从得知,所以今天想分享一下在MySQL体系下SQL语句大致上是如何在系统中执行的,在以后SQL语句提示错误时将更好定位
1、闪回实现原理闪回的业务价值是,在DBA执行错误的数据提交操作之后,还能把数据恢复还原到之前某个时刻的状态,最大程度地挽回损失。在MySQL中,binlog文件主要用于主从同步二进制数据日志。当主服务器数据发生变更时,会把变动明细持久化到binlog文件中,此时从服务器通过拉取并解析binlog文
生产上发生误删数据或者误更新数据的事故时,传统恢复方法是利用备份重搭实例,再应用binlog来恢复数据,有时候需要找回的数据条数非常少,却要恢复几十甚至上百G的备份,费时费力。那有没有像oracle一样的可以闪回的方式来方便的恢复数据呢,答案是有的。我们MySQL有binlog,binlog以eve
在MGR测试中,人为制造磁盘满问题后,节点被oom killed问题描述在对MySQL 8.0.26 vs GreatSQL 8.0.25的对比测试过程中,有一个环节是人为制造磁盘满的场景,看看MGR是否还能正常响应请求。在实测过程中,最后发现磁盘满的那个节点,持续时间足够久后,会因为内存消耗过大而
1、发现问题在一次数据迁移的任务中,小玲将源端数据库中数据导出为CSV文件,然后通过 load data 导入数据到MySQL,结果惊奇地发现id字段丢失了,就像这个样子:mysql> select * from t2;+----+-------+---------------------+|
1. 导言我们在采用InnoDB引擎的情况下,编写SQL语句WHERE条件的时候,可以通过AND操作符来提高数据的过滤能力,当然,在使用AND操作符也有许多需要注意的地方,就好比一条更新语句:mysql>update testtable set price = 52.0,name = 'tes
1、问题描述前两天在群里看到同事反馈一个空格问题,大致现象如下:mysql> select @@version;+-----------+| @@version |+-----------+| 8.0.25 |+-----------+1 row in set (0.00 sec)mys
复制概述复制即把一台服务器上的数据通过某种手段同步到另外一台或多台从服务器上,使得从服务器在数据上与主服务器保持一致。MySQL从3.X版本就开始支持复制功能,期间多次完善、改进、新增功能,比如并行复制的改进、GTID复制的推出,多源复制的完善等众多功能的实现,目前该技术已基本成熟。MySQL的复制
一、部署实例1.下载2个软件http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.7/mysql-5.7.35-winx64.ziphttp://ftp.kaist.ac.kr/mysql/Downloads/MySQL-8.0/mysql-8.0.26-wi
GTID概述MySQL5.6 在原有主从复制的基础上增加了一个新的复制方式,即基于GTID的复制方式,它由UUID和事务ID两个部分组成,具有如下特点。GTID事务是全局唯一性的,并且一个事务对应一个GTID值。一个GTID值在同一个MySQL实例上只会执行一次。GTID相较与传统复制的优势主从搭建
介绍MySQL Test Run 简称MTR,是MySQL官方提供的自动化测试框架,执行脚本在发布路径的mysql-test目录下。主要测试步骤,是通过执行一个case(*.test)中的语句(包括sql语句和其他管理语句),将case的输出记录保存在结果文件(*.result)中,或者是将语句执行
MySQL 的function创建会有各种限制,经常使用的语句的限制如下:1.CONTAINS_DYNAMIC_SQLCREATE function f1() returns int BEGIN set @cmd = 'select * from t1'; PREPARE stmt1 FROM