暂无图片
暂无图片
暂无图片
mysql日拱一卒
2023-05-21 14:24:00 8776
简介:从零开始学mysql
mysql“空事务”引发的锁阻塞
日常运维中,innodbtrx视图中经常会出现running时间很长的事务,但是并没有显示sql语句,很多DBA对这类问题很困惑。比如上图中,showprocesslist查看到ID对应的session一直存在,status状态时而running时而sleep,最后分析发现,应用程序使用begin、starttransction启动了一个大事务,不停的轮询更新数据,大事务运行时间超过1天。一般情况下,应用程序通过begin执行显示事务后,事务中的sql已经执行,但是该显示事务一直没有提交时就会出现这种现象。下面sql语句会查询到“空事务”中执行的上一条sql语句,拿到sql后找开发一起排查sql来源,最后尝试复现找到根因。下面案例就是“空事务”引发的锁阻塞。517487888应该为delete或者update语句,在操作主键为64404684的行记录时,加了X锁,但是
金同学
2024-06-27
271 浏览
mysql IPv6双栈改造的一些经验和心得
把IPv6改造中的一下经验和成果分享出来,欢迎大家借鉴交流
金同学
2024-05-29
1853 浏览
MySQL开发规范.pdf
互联网大厂的mysql开发规范,非常实用。
金同学
2023-05-24
231 浏览
7页
7 下载
MySQL锁知识总结.pdf
MySQL 锁知识点总结 一、基本概念 数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。 而锁就是用来实现这些访问规则的重要数据结构。 根据加锁的范围,MySQL 的锁大致分为全局锁、表级锁和行锁三类。 二、加锁方式及原理 21 全局锁 全局锁就是对整个数据库实例加锁。当开启全局锁,整个库就处于只读状态,之后其他线程的以下语句会被阻塞:数据更新语句 DML(数据的增删改)、数据定义语句 DDL(包括建表、修改表结构等)和更新类事务的提交语
金同学
2023-05-23
246 浏览
20页
13 下载
mysql mgr异步复制故障自动转移&搭载异步从库(灾备)的几种方案
sourceconnectionautofailover1,启用异步连接自动故障转移的功能在接收者上配置异步复制,与绑定到源mgr主库的虚拟vip建立异步复制通道,实现异步数据同步。发送者故障后的故障转移机制同场景二。即接收者R1(主库)发生故障时,目标端mgr主库发生切换,异步复制会自动发现并切换到mgr新主库。接受者发生故障后,异步复制通道会自动跟随目标端主成员的变化,然后在故障节点R1上停止复制,在R2(新主)上开启复制,整个过程无需DBA干预。当源端主库发生切换时,复制线程触发检测重连机制,然后重新获取、定位新主gtid及binlog位置信息。从源端mgr主节点克隆数据库到目标节点。
金同学
2023-05-22
1566 浏览
binlog2sql闪回工具-通过binlog实现MySQL误操作数据恢复
使用mysql的binlog日志恢复误删数据.。作者danfengcao,大众点评DBA团队。它是一款开源的MySQLbinlog解析工具,通过伪装slave拉取binlog进行处理。我们使用该工具可以得到原始SQL、回滚SQL、去除主键的insertSQL等。使用回滚/闪回功能时,binlogformatrow,且binlogrowimagefull;binlog2sql只能回滚DML,不能回滚DDL;mysql连接用户需要select,replicationslave,replicationclient权限;如果是mysql8.0,需将PyMySQL0.7.11修改为PyMySQL0.9.3.默认False,同步至执行命令时最新的binlog位置。
金同学
2023-05-22
448 浏览
my2sql闪回工具-通过binlog实现MySQL误操作数据恢复
不小心删除数据库的数据怎么恢复,使用MySQL的binlog日志恢复误删数据my2sql是一款开源的binlog日志解析工具,使用go语言开发,它通过解析MySQLbinlog,可以生成标准SQL、回滚SQL、DML统计信息等。类似工具有binlog2sql、MyFlash、my2fback等,本工具基于my2fback、binlogrollback二次开发而来,解析效率非常高。经测试,mysql7、mysql8都可以使用。数据快速回滚(闪回);找出某个时间点数据库是否有大事务或者长事务;使用回滚/闪回功能时,binlogformatrow,且binlogrowimagefull;mysql连接用户需要select,replicationslave,replicationclient权限;当指定modefile参数时,需要指定localbinlogfilebinlog文件相对路径或绝对路径,可以连续解析多个binlog文件,只需要指定起始文件名,程序会自动持续解析下个文件。
金同学
2023-05-22
3100 浏览
mysql数据库改名字
严格意义上说,mysql5.6版本以后是不支持改库名的。我们可以通过renametable的方式,将表从一个库迁移到另一个库,变相完成改名。DECLARECONTINUEHANDLERFORNOTFOUNDSETdone1;
金同学
2023-05-21
486 浏览
mysql忘记root密码 - 几个实战技巧
updatemysql.usersetpasswordpasswordwhereuser'root'andHost'localhost';将newpassword替换为你要设置的新密码。执行以下命令报错,提示语法错误,这个因为在某些8.0版本或者其他mysql分支移除了password函数,导致无法修改。随记选择一个secondary节点,执行stopgroupreplication退出mgr。showmasterstatus;假设获取当前gtid:'f7dbe843ee6248339c8adc03f8762d20:1100'.启动服务后,查看showmasterstatus;发现生成了本机新的GTID,导致无法加入复制组。第3步:将该节点切换为primary,然后再次修改密码
金同学
2023-05-19
415 浏览
专栏作者
暂无图片
近期活动
搜索服务统一治理(跨引擎多个集群监控管理、流量管控、服务编排)【Workshop 第一期 -北京站】
05/15 13:30 0人报名
数据库服务团队技术分享第十四期-日常运维中的技术决策(安全生产系列)
05/15 20:00 0人报名
TiDB性能调优最佳实践,这些“绝招”让你事半功倍!5月29日,TiDB vs MySQL线上Meetup第四期,欢迎报名参与!
05/29 19:00 0人报名