随笔分类 - mysql
mysql相关学习
摘要:1、背景 Orchestrator(orch):go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库用MySQL或SQLite存储元数据,并提供Web界面展示MySQL复制的拓扑关系及状态,通过Web可更改MySQL实例的复制关系和部分配置
阅读全文
摘要:一、GTID概念介绍 GTID是mysql5.6版本出来的新特性 GTID即全局事务ID (global transaction identifier), 其保证为每一个在主上提交的事务在复制集群中可以生成一个唯一的ID。mysql主从结构在一主一从情况下对于GTID来说就没有优势了,而对于2台主以
阅读全文
摘要:1、orchestrator如何去发现mysql实例 这个涉及到两个参数:HostnameResolveMethod和MySQLHostnameResolveMethod HostnameResolveMethod的值有三个选项: "cname":通过cname做域名解析(resolve hostn
阅读全文
摘要:一、什么是Xenon? Xenon [ˈziːnɒn] (https://github.com/radondb/xenon) 是一款由 RadonDB 开发团队研发并开源的新一代 MySQL 集群高可用工具。基于 Raft 协议进行无中心化选主,实现主从秒级切换;基于 Semi-Sync 机制,保障
阅读全文
摘要:文章目录 Otter⽬前⽀持了什么 整体架构 环境准备 下载安装 修改配置⽂件运⾏ Manager Node 配置⼀个同步任务 添加canal 添加数据源 添加数据表配置 添加⼀个channel 配置⼀个pipeline 添加映射关系 启⽤同步 避坑指南 Otter⽬前⽀持了什么 单向同步, mys
阅读全文
摘要:1、MySQL 8.0 clone plugin简介 1) 克隆插件允许从本地或远程的MySQL Server中克隆数据。克隆的数据是存储在InnoDB中的schema(database)、table(表)、tablespaces(表空间)和data dictionary metadata(数据字典
阅读全文
摘要:1、 广电告警背景如下: 主机:xxxx:3306,MySQL 运行的Thread大于30,请关注,2021-07-15 15:30:002、猜测是因为业务量造成?3、mysql thread running 的理解 每秒查询次数(Queries per second,QPS)可以衡量数据库的吞吐量
阅读全文
摘要:OAR (SQL Optimizer And Rewriter) 是一个对 SQL 进行优化和改写的自动化工具。 由小米人工智能与云平台的数据库团队开发与维护 一、简介 1、功能特点 跨平台支持(支持 Linux, Mac 环境,Windows 环境理论上也支持,不过未全面测试) 目前只支持 MyS
阅读全文
摘要:一 背景 死锁,其实是一个很有意思也很有挑战的技术问题,大概每个DBA和部分开发同学都会在工作过程中遇见过。本次分享的死锁案例更新不存在的记录加上 X GAP lock 和 insert 的意向锁冲突。希望能够对想了解死锁的朋友有所帮助。 二 案例分析 2.1 业务逻辑 业务逻辑: 业务需要并发不同
阅读全文
摘要:1、问题现象 开发反馈某业务持续性报锁等待超时,相关错误信息如下: Lock wait timeout exceeded; try restarting transaction 为了能精确定位问题,继续询问开发有没有锁等待超时相关SQL,开发又给了相关报错SQL: INSERT INTO <TABL
阅读全文
摘要:本文记录个人使用MySQL插入大数据总结较实用的方案,通过对常用插入大数据的4种方式进行测试,即for循环单条、拼接SQL、批量插入saveBatch()、循环 + 开启批处理模式,得出比较实用的方案心得。 一、前言 最近趁空闲之余,在对MySQL数据库进行插入数据测试,对于如何快速插入数据的操作无
阅读全文
摘要:一.问题描述 拷贝一个大表的表数据的时候,等待时间太久,就在前台通过CTRL+C的方式停掉了 通过show processlist查找到对应的进程,然后进行kill,结果kill完了,依旧在进程列表里,只是被标记为killed 二.解决方案 查看innodb的事务表,发现刚才kill的语句正在进行回
阅读全文
摘要:1、背景 多个业务连接异常,navicat连接数据库不稳定,连接进入数据库后也会出现卡死的,连接失败的报错 2、问题分析 2.1 问题描述: navicat、服务器中连接数据库均复现业务报告的问题,查看后端mysql库日志,mysql主库在连续地故障重启。数据库使用的是主备模式,mysql切换到备库
阅读全文
摘要:背景:前期安全漏扫后,1+N环境中部分MySQL8.0数据库由低版本通过upgrade方式升级到8.0.29版本,后又升级到8.0.30版本。此版本的upgrade升级方式,在执行 alter table add colmun 操作时有一定几率会触发MySQL内部BUG,导致数据库崩溃。注意:MyS
阅读全文
摘要:一、背景:1、 Percona Xtrabackup 8.0.25 不支持低于MySQL 8.0的备份(因为MySQL 8.0在数据字典、redo log中和之前版本不兼容),因此2.4版本的也不支持8系的备份 2、mysql8系,除了克隆方式,也可以采用 Xtrabackup进行数据恢复。全备份的
阅读全文
摘要:首先对mysql锁进行划分: 按照锁的粒度划分:行锁、表锁、页锁 按照锁的使用方式划分:共享锁、排它锁(悲观锁的一种实现) 还有两种思想上的锁:悲观锁、乐观锁。 InnoDB中有几种行级锁类型:Record Lock、Gap Lock、Next-key Lock Record Lock:在索引记录上
阅读全文
摘要:前提:针对于InnoDB引擎 行锁讨论 锁机制 MySQL的锁机制可以分为:锁模型(lock mode)和锁类型(lock type) 锁模型(lock mode) 共享锁&排他锁 InnoDB 实现了两种类型的标准行锁:共享(S)锁和排他(X)锁。(下文简称S锁和X锁) S锁允许持有该锁的事务读取
阅读全文
摘要:一、master端: --binlog-do-db 二进制日志记录的数据库(多数据库用逗号,隔开),尽量不要使用。 --binlog-ignore-db 二进制日志中忽略数据库 (多数据库用逗号,隔开),尽量不使用。 以下是mysql主从忽略授权表的方法案例: in master:[mysqld]
阅读全文
摘要:1、工具binlog2sql使用: 已测试环境(此工具使用时字段多时有时候存在字段和字段值不配的情况,如是生产环境,建议测试环境先查看后再导入生产) * Python 2.7, 3.4+ * MySQL 5.6, 5.7 安装 shell> git clone https://github.com/
阅读全文
摘要:1、上传安装包 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz 2、首先升级备库,再升级主库,步骤如下: 1)登陆 mysql -uroot -pMsql#\!456 -S /dbdata/mysql5724/data3306/my3306.sock 2)sho
阅读全文