事务申请加表锁或者行锁,有可能立即获得锁,也有可能被其它事务持有的锁阻塞,需要先进入锁等待状态,等其它事务释放表锁或者行锁之后,申请加锁的事务才能获得锁。...
在数据库 MySQL 的日常运维中,生产环境一般都是 1 主 N 从的高可用架构。涉及主从同步的问题,通常执行 show slave status 命令就可以了解主从实例之间的同步状态,但是凡事总会有意外。...
InnoDB 事务执行过程中,加表锁或者行锁之后,释放锁最常见的时机是事务提交或者回滚即将完成时。
生产环境中 MySQL 5.7.26 版本下,当主库短时间内连续遇到 2 次 Crash 的特殊场景时,会导致备库重新建立复制时会抛出错误 Slave has more GTIDs than the master has,IO 线程复制报错。...
解决死锁最重要的事情,就是决定回滚死锁环中哪个事务,也就是选择哪个事务作为死锁受害事务。
众所周知,防止断电丢失 Binlog、故障恢复过程丢失数据,MySQL 主库必须设置 sync_binlog=1。那么作为备库可以例外吗?
作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。
近期生产上出现了个故障,某一套部署了 MySQL 主库的服务器由于硬件问题导致服务器宕机重启。由于该库部署了相关高可用组件,在服务器重启之后,该数据库服务被高可用组件拉起,并和新主库搭建了复制关系。...
在 MySQL 日常运维中,备份是一个必不可少的环节,最常用的一般则是 Percona XtraBackup 工具。
某日同事突然找到我说测试环境中有张表无法访问,SELECT、DML 和 DDL 执行均报错 ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.。