自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老叶茶馆

叶金荣,ORACLEMySQLACE,专注MySQL十余年,分享MySQL技术及工作心得.个人站点:http://imysql.com

  • 博客(1245)
  • 收藏
  • 关注

转载 MySQL8.0修改lower_case_table_names参数导致重启失败

事件起因:在测试一个数据迁移工具时,源端oracle19c数据迁移到目标端MySQL8.0,提示迁移目标端 Unknown database 'SBTEST',报错如下:2022-07-2910:08:19,155ERRORcom.greatsync.connector.jdbc.internal.ComplexJdbcOutputFormat[]-JDBCexecuteBatch...

2022-11-15 07:44:20 6069

转载 Debezium的基本使用(以MySQL为例)

Debezium介绍基本使用MySQL的准备工作编写程序测试总结一、Debezium介绍摘自官网:Debezium is a set of distributed services to capture changes in your databases so that your applications can see those changes and respond to them. Deb...

2022-11-09 07:00:16 3804

转载 使用SkyWalking监控MySQL(一)工具与方案

注:本文适用于SkyWalking v9.1.0。SkyWalking简介SkyWalking是一个分布式系统的应用程序性能监视(APM)工具,专为微服务、云原生架构和基于容器(K8s)架构而设计。当前版本具备了全路径跟踪、指标采集、日志记录等功能,并对多种编程语言及平台(Java/C/C++/Go/Rust/Node/PHP等)提了采集代理(agent),并对service mesh(stio ...

2022-11-08 07:00:37 1644 1

转载 浅析MySQL几种不同的注释风格

前言MySQL Server当前支持如下3种注释风格:以'#'开头的单行注释以'-- '开头的单行注释C语言风格的单行/多行注释如下SQL脚本给出了3种注释风格的示例:/*这是一个多行注释示例*/select1fromdual;select2fromdual;#单行注释用例1select3fromdual;--单行注释用例2可执行注释为了支持在不同数据库之间...

2022-11-07 07:00:29 272

转载 my2sql工具之快速入门

1.什么是my2sql2.如何快速部署my2sql工具3.如何使用my2sql工具3.1使用my2sql工具解析binlog文件3.2使用my2sql工具快速闪回4.遇到的问题5.使用限制6.总结1. 什么是my2sql?my2sql是go版MySQL binlog解析工具,通过解析MySQL binlog ,可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信...

2022-11-06 07:00:52 449

原创 Ubuntu上AMD显卡能够使用的stable diffusion webui部署方案流程

本文环境使用实体设备,显卡是AMD RX6800XT。系统是ubuntu20.04.5 LTS 桌面版,部署成功后也可以在评论区发出你的显卡型号和系统。非虚拟化环境。分个100G的分区安装Ubuntu,可以与win共存!想用哪个系统就重启切换!慢慢看,中间涉及git、pip安装慢的可以装个“开发者边车”解决一、更新apt并安装一些需要的程序sudoapt-getupdatesudoapt...

2022-11-05 07:00:38 6876 2

原创 InnoDB系统表空间定义规则

1. InnoDB系统表空间定义规则2. 并行复制设置不当可能导致主从数据不一致1. InnoDB系统表空间定义规则修改 innodb_data_file_path 选项值可自定义InnoDB系统表空间设置,不过要注意 autoextend 和 max 属性只能放在最后一个文件,而不能放在前面的文件。Theautoextendandmaxattributescanbeusedonl...

2022-11-04 07:00:43 139

原创 可以同时解析多个binlog吗

1.可以同时解析多个binlog吗2. innodb_buffer_pool_instances设置多少合适1.可以同时解析多个binlog吗首先,答案是肯定的。其次,当我们采用这种方式解析binlog时 $ mysqlbinlog -vvv --base64-output=decode-rows --start-position=4 --stop-position=2000 binlog.000...

2022-11-03 07:00:55 275

原创 MySQL如何快速禁用账户登入 & 如何复制/复用账户密码

如何快速临时禁止某账户登入角色ROLES管理需要先激活关于授权的其他几点补充如何复制/复用账户密码1. 快速临时禁止某用户登入有几个方法:修改其密码 ALTER USER x IDENTIFIED BY 'new_passwd',或者将其修改为随机密码 ALTER USER x IDENTIFIED BY RANDOM PASSWORD;锁定其账户 ALTER USER x LOCK ACCOUN...

2022-11-02 07:00:22 822

原创 MySQL 8.0数据字典有什么变化

1. MySQL 8.0数据字典有什么变化从MySQL 8.0开始,采用独立表空间模式的每个InnoDB表只有一个 .ibd 表空间文件,而不再有 .frm 文件了。为了实现DDL的原子性,InnoDB直接把元数据存储在表空间文件中,需要的话,可是使用 ibd2sdi 工具从中读取,例如:$ibd2sditest/t1.sdi["ibd2sdi",{"type":1,...

2022-11-01 07:00:48 125

转载 再见了,frm,MySQL 8.0全新字典缓存

先推荐高鹏、徐轶韬两位老师的书一、综述从MySQL 8.0开始,就没有frm文件了,取而代之的是全新的字段缓存的设计和多个持久化的字典表。这不仅为原子性DDL提供了基础,而且减少打开物理frm文件的开销。但是原先的table/table_share的缓存依旧架设在前面。因此看起来在获取表的字典数据的时候就依次为:table_cache (大概率就命中了,参数相关,分多个实例,每个session只能...

2022-10-31 07:00:40 282

转载 [MySQL FAQ]系列 — MySQL复制中slave延迟监控

在MySQL复制环境中,我们通常只根据 Seconds_Behind_Master 的值来判断SLAVE的延迟。这么做大部分情况下尚可接受,但并不够准确,而应该考虑更多因素。首先,我们先看下SLAVE的状态:yejr@imysql.com [(none)]> show slave status\G*************************** 1. row ************...

2022-10-27 07:00:54 164

转载 [MySQL优化案例]系列 — slave延迟很大优化方法

备注:插图来自网络搜索,如果觉得不当还请及时告知 :)一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发。简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制线程只有一个sql thread用于binlog的apply,所以难怪slave在高并发时会远落后master。ORACLE MySQL 5.6版...

2022-10-27 07:00:54 214

转载 MySQL备库复制延迟的原因及解决办法

背景 今天有同事问我主从复制延迟会影响高可用切换的 RTO 怎么办,这个不需要做实验,我可以直接回答,所以有了以下赶鸭子的文章,都是一线运维经验之谈,建议四连:点赞、收藏、转发、在看。复制延迟的原因及解决办法 一般情况下,复制延迟大概率是从库的 sql thread 应用 relay log 慢导致的,很少是因为 io thread 慢导致的。io thread 慢的话是一些故障导致的,是罕见的,...

2022-10-27 07:00:54 1048

转载 国密算法 + MySQL

中国加密标准中国加密标准的SM1、SM2、SM3、SM4、SM7、SM9等。借助国际加密标准,我们可以利用来自开源的加密库, 例如,最常用和最流行的加密库之一是 OpenSSL。本文旨在使用有 SMx(中国加密库)的“OpenSSL”库 的 BabaSSL,加上 MySQL的TLS设置,提供使用国密的算法的 MySQL。BabaSSL不是唯一采用 MySQL 的中国加密标准, 来自其他的中国加...

2022-10-26 07:00:26 1813

转载 MySQL 8.0.30 的数据加密有哪些变化?

MySQL 8.0.30于2022年7月26日正式发行。在这个版本里,除了为数据加密功能增加了KDF(Key Derivation Function),还为企业版发布了新的加密组件,以替代之前基于OpenSSL的UDF。KDFMySQL具有SQL级别的加密功能,社区版的MySQL提供了AES_DECRYPT(),AES_ENCRYPT()函数用于数据的加密和解密,函数使用AES(Advanced ...

2022-10-26 07:00:26 729

转载 相同执行计划,为何有执行快慢的差别

前言场景复现新的技巧总结前言今天遇到一个很神奇的现象,在数据库中,相同的执行计划,执行SQL所需要的时间相差很大,执行快的SQL瞬间出结果,执行慢的SQL要几十秒才出结果,一度让我怀疑是数据库抽风了,后面才发现是见识不足,又进入了知识空白区。场景复现数据库版本使用的是8.0.23 MySQL Community Server - GPL由于生产环境数据敏感,禁止随意折腾,我在自己的测试环境,通过如...

2022-10-25 07:00:13 140

转载 MySQL Shell系列——升级检查器

MySQL Shell提供了一套工具集,用户可以利用这套工具集完成不同的MySQL 任务。在这一篇文章里,将为读者介绍升级检查器。用户可以使用升级检查器来检查MySQL 5.7服务器实例,以及MySQL 8.0服务器实例与最新MySQL 8.0版本的兼容性错误和升级问题。在这里再次强调一下,使用MySQL 5.7的用户,你的MySQL该升级了。按照目前制定的产品生命周期计划,MySQL 5.7在明...

2022-10-24 07:00:48 426

转载 MySQL的诊断利器——MySQL Shell 8.0.31的诊断实用程序

MySQL Shell诊断实用程序能够分析MySQL服务器的性能,并能够生成运行状况、性能和单个查询的诊断报告。注意,这是MySQL Shell在8.0.31提供的新功能,用户必须使用8.0.31之后的版本。诊断工具包括三个:util.debug.collectDiagnostics()util.debug.collectHighLoadDiagnostics()util.debug.collec...

2022-10-24 07:00:48 368

转载 使用JMeter进行MySQL的压力测试

前言1. JMeter安装2. 导入MySQL驱动3. 配置并使用JMeter连接数据库step1:添加JDBC Connection Configurationstep2:添加JDBC Requeststep3:运行并查看结果4. 其他使用小技巧对查询结果进行简单处理混合场景设置总结前言JMeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量...

2022-10-23 07:00:34 626

转载 MySQL源码解析之执行计划

MySQL执行计划介绍MySQL执行计划代码概览MySQL执行计划总结一、MySQL执行计划介绍在MySQL中,执行计划的实现是基于JOIN和QEP_TAB这两个对象。其中JOIN类表示一个查询语句块的优化和执行,每个select查询语句(即Query_block对象)在处理的时候,都会被当做JOIN对象,其定义在sql/sql_optimizer.h。QEP_TAB是Query Executio...

2022-10-22 07:00:16 317

转载 Databend 存储架构总览

目的通过本篇文章带大家理解一下 Databend 的存储结构。Databend 内置的 Table 引擎为 Fuse table engine ,也是接下来要花重点篇幅讲的。另外,Databend 还支持外置的 Hive table 及 Icebreg Table( 即将到来)。Fuse table 是 Databend 直接把数据存储到 S3 类对象存储上,从而让用户达到一个按需付费,无须关注存...

2022-10-21 07:30:17 359

转载 MySQL客户端显示binary字符代码改造

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、客户端显示字符背景介绍二、代码跟踪三、代码改造四、总结一、客户端显示字符背景介绍MySQL最新版本有一个新功能,在使用客户端的时候,最后加上--skip-binary-as-hex选项可以直接显示二进制值对应的字符串,不加该选项就可以按照原来的设置格式显示。先来看一下以下的varbinary的显示例子。#建表:c...

2022-10-20 07:30:34 322

转载 有趣的SQL DIGEST

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。SQL DIGEST是什么DIGEST TEXTSQL DIGESTSQL DIGEST有什么作用代码中与SQL DIGEST相关的处理函数常见问题SQL DIGEST是什么DIGEST TEXTDIGEST TEXT本质是一种SQL语句规范化后将常量替换成'?'的运算结果,STATEMENT_DIGEST_TEXT函...

2022-10-19 07:30:28 245

转载 ulimits不生效导致数据库启动失败和相关设置说明

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1. 问题描述在某客户的生产环境GreatSQL数据库紧急重启过程中,发现启动失败--正常启动中2022-07-16T09:30:27.428609+08:000[Note][MY-010252][Server]Serverhostname(bind-address):'127.0.0.1';po...

2022-10-18 07:30:08 839

转载 MySQL之COUNT性能到底如何

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。前言1.COUNT(1)、COUNT(*)与COUNT(字段)哪个更快?实验分析实验结果实验结论2.COUNT(*)与TABLES_ROWS3.COUNT(*)是怎么样执行的?4.总结前言在实际开发过程中,统计一个表的数据量是经常遇到的需求,用来统计数据库表的行数都会使用COUNT(*),COUNT(1)或者COUNT...

2022-10-17 07:30:34 345

原创 MySQL 8.0.30动态redo log初探

MySQL 8.0.30全新的动态redo log玩法探秘MySQL从5.7版本开始支持在线动态修改 innodb_buffer_pool_size,8.0开始支持在线添加undo表空间,以及临时表空间的自动回收,真的是越来越方便了。从8.0.30开始,又新增支持动态调整redo log的大杀器,对DBA来说又是一大福音。在8.0.30里,新增选项 innodb_redo_log_capacity...

2022-10-16 07:30:55 937

原创 MySQL中USER()和CURRENT_USER()的区别

USER()和CURRENT_USER()的一点不同某次在用 ALTER USER 想要修改账户密码时,发现执行下面的SQL会报语法错误:mysql>ALTERUSERUSER()IDENTIFIEDWITH...ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcor...

2022-10-15 07:30:07 400

转载 几行代码给MySQL增加日志实时输出函数

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1.简介对MySQL源码感兴趣的小伙伴,在学习源码的过程中都会有想一探某处代码在运行时当前的数据是个怎样的内容或者执行流程,想要知道具体情况无非可以通过两种方式,一种是gdb下断点查看,另外一种就是直接在想要查看的代码位置加入日志输出方式。输出日志的方式又分多种,比如有的可以用自带的设置调试模式输出调试日志,有的则可以...

2022-10-14 07:30:03 600

原创 MySQL 8.0.31并行构建索引特性管窥

测试效率提升36% ~ 100%,相当可观本文目录并行构建索引测试进一步提高索引构建效率并行构建索引的限制MySQL 8.0.31于2022.10.11发布了,比我预计的日期早了一周,先赞一个。看了下 release notes ,新增的东西不算多,感觉MySQL官方对8.0版本已经进入维稳的后半段了,英文不好的同学可以戳此查看 徐轶韬老师针对8.0.31做的快速解读。另外,根据 徐老师的最新推文...

2022-10-13 07:30:05 771

转载 分布式系统中的时钟与一致性解读

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1 物理时钟与问题2 逻辑时钟 Logicl Clock,LC3 向量时钟 Vector Clock,VC4 TrueTime, TT5 混合逻辑时钟 Hybrid Logical Clocks,HLC5.1 概念预介绍5.2 算法介绍6 一致性6.1 理论中的一致性6.2 分布式系统中实现的一致性7 多说一点当我们讨...

2022-10-11 07:30:45 917

转载 MySQL进程内存一直在涨,怎么办?

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。老叶提醒:本文结合MySQL内存为什么不断增高,怎么让它释放 阅读,收获更多。1.问题开端2.问题分析3.原因及意见1.问题开端工程师反馈数据库服务器内存使用率高,并且之前曾触发告警,登录服务器使用top -u mysql查看进程使用内存信息:发现mysqld进程使用内存达到了61.5%,并有缓慢增长趋势。但是数据库...

2022-10-10 07:30:27 7905

转载 老款MacBook浴火重生记

老款RMBP重生记这个长假期间,机缘巧合之下在群里收了个2015款的15寸RMBP笔记本,决心对其改造一番,使之重新上岗服役,还是很能打的。旧本子的配置是 I7处理器、16G内存、256G硬盘,CPU和内存都还可以,硬盘明显太小了,必须升级。看了下电池,已经循环了750+次,看后盖板已经鼓包的厉害,也必须换掉。此外,也趁此机会除下灰(应该定期除灰的)。本来也想顺便换掉键盘和屏幕的,发现难度太大了,...

2022-10-09 07:30:27 975

原创 用唐诗点缀朋友圈

最近在读唐诗的一些笔记整理。最近在读唐诗,偶有所得,摘录了一些适合发到朋友圈,用于表达心境、抒发情感、感悟咏怀。这些都仅是个人浅见,不代表原作者的真正意图,也可能我理解有误,不喜轻喷。1. 想表达开心的时候先说点开心的,比如平时和三五好友谈天说地,开怀畅饮,此时可以借用李白《将进酒》人生得意须尽欢,莫使金樽空对月。...五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。不过李白当时写作本诗时,却...

2022-10-08 07:30:08 657

转载 同样是删用户,为啥还有差别?

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源在MySQL当中,对于删除用户的操作大家并不陌生,先来看看问题:# 创建用户testuser01mysql> create user 'testuser01'@'%' identified by 'Test01.~!#';Query OK, 0 rows affected (0.01 sec)# 删除用户te...

2022-10-07 07:30:40 87

转载 浅析TIMESTAMP类型

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。引入一、DATE\TIME\DATETIME二、TIMESTAMP三、TIMESTAMP和DATETIME的区别四、TIMESTAMP总结引入日期与时间是非常重要的信息,在我们的系统中,几乎所有的数据表都用得到。原因是客户需要知道数据的时间标签,从而进行数据查询、统计和处理。因此,日期与时间类型也是我们最常用到的类型之...

2022-10-06 07:30:01 3725

转载 使用Yearning部署一个工单化SQL语句检测平台

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1. 引入2. 环境准备2.1 通过yum安装Docker2.2 安装数据源2.3 安装部署Yearning3. 简单使用Yearning4. 总结1. 引入MySQL是十分热门的开源数据库,在软件开发中广泛用于数据的持久化存储。在软件开发生命周期当中往往会遇到问题,编码人员根据业务需求编写对应模块代码,经由测试人员进...

2022-10-05 07:30:46 1872

转载 events scheduler导致MGR节点退出详解及修复

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。问题复现执行如下命令:mysql>SETGLOBALEVENT_SCHEDULER=OFF;QueryOK,0rowsaffected(0.01sec)mysql>CREATEEVENTe1ONSCHEDULEEVERY1SECONDENDSNOW()+I...

2022-10-04 07:30:40 237

转载 MySQL主键自增值为什么有“空洞”?

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1.场景准备2.开始测试3.问题分析4.问题拓展本文在测试insert、insert ignore、replace into三种数据插入方式的时候,发现插入数据的时候在表内存在带有“唯一特性”的值重复的情况下三种语句的处理方式。最终发现了MySQL主键自增值“空洞”了1.场景准备测试场景为MySQL 8.0:主键重...

2022-10-03 07:30:40 238

转载 MySQL8.0中消失又回来的磁盘临时表

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1.引子2.发现问题3.破题4.总结1.引子首先,我是一个标题党^_^,写这样的标题就是为了吸引你们来看的。标题中说的磁盘临时表消失,并不是真的消失了,而是在MySQL默认配置下,从8.0.15到8.0.27的版本都不会产生磁盘临时表(8.0.15之前的版本没有做个测试,就不妄下结论了),在8.0.28及之后的版本中,...

2022-10-02 07:30:51 907

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除