- 博客(15)
- 问答 (1)
- 收藏
- 关注
原创 InnoDB记录加锁流程--快加锁流程图及案例说明
1、表结构及数据CREATE TABLE `t1` ( `id1` int(11) NOT NULL, `id2` int(11) DEFAULT NULL, `id3` int(11) DEFAULT NULL, PRIMARY KEY (`id1`), KEY `idxt1` (`id2`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mysql
2018-01-31 20:04:55 514
原创 InnoDB事务锁之行锁--死锁检测机制
lock_deadlock_check_and_resolve(/*============================*/ const lock_t* lock, /*!< in: lock the transaction is requesting */ const trx_t* trx) /*!< in: transaction */{ /* Try and resolve
2018-01-28 17:42:11 731
转载 Group Replication Features backported to MySQL 5.7
转自https://mysqlhighavailability.com/group-replication-features-backported-to-mysql-5-7/We have brought further enhancement to MySQL Group Replication 5.7 release by backporting some most requested fea
2018-01-28 14:12:28 333
原创 InnoDB事务锁之行锁--slow lock
lock_rec_lock_slow(/*===============*/ ibool impl, /*!< in: if TRUE, no lock is set if no wait is necessary: we assume that the caller will set an implicit lock */ ulint mode, /*
2018-01-28 14:06:23 643 1
原创 InnoDB事务锁之行锁加锁--fast lock
lock_rec_lock_fast: lock = lock_rec_get_first_on_page(block); block->lock_hash_val是该页的锁的hash key值 通过这个值从lock_sys->rec_hash中找到对应锁,这个key可能发送冲突 所以还需要根据lock->un_member.rec_lock.space和page_no判断是不是这个
2018-01-28 14:02:30 470
原创 InnoDB锁结构个数最大限制
innodb锁个数是固定的,系统中存在的数量在初始化时就已经确定好。 innobase_start_or_create_for_mysql->lock_sys_create(srv_lock_table_size)-> lock_sys->rec_hash = hash_create(srv_lock_table_size);锁都存放在锁系统的哈希表中,该哈希表最大是系统中页个数的5倍:
2018-01-24 20:16:15 447
原创 InnoDB锁类型及模式
1、锁模式enum lock_mode { LOCK_IS = 0,/* intention shared */ LOCK_IX, /* intention exclusive */ LOCK_S, /* shared */ LOCK_X, /* exclusive */ LOCK_AUTO_INC, /* locks the auto-inc counter of a table
2018-01-21 21:39:35 428
原创 MySQL8.0-新特性-role
一、简介role可以看做一个权限的集合,这个集合有一个统一的名字role名。可以给多个账户统一的某个role的权限权限的修改直接通过修改role来实现,不需要每个账户一个一个的grant权限,方便运维和管理。role可以创建、删除、修改并作用到他管理的账户上。二、案例1、创建表mysql> create table t1(id1 int primary key,id2 int);Query OK
2018-01-21 10:44:46 8763
原创 MySQL8.0-新特性-在线修改系统变量,并将修改后的持久化到磁盘
有时候实例启动后,为了图省事在线修改了某个系统变量,重启后需要重新设置,怎么设置忘记了,或者忘记怎么设置到my.cnf文件了。很不方便。mysql8.0有了一个新特性,在线修改系统变量后,会将修改后的值持久化到磁盘。他并不是持久化到my.cnf中,而且重新生成一个新的文件mysqld-auto.cnf,并将修改后的值保存到该文件中。mysqld-auto.cnf文件中的配置相比my.cnf文件具有
2018-01-17 21:32:47 1618
原创 MySQL半同步复制-答疑解惑-master dump线程等待slave的ACK是死等吗
1、master dump线程在发送binlog后会等待slave的ACK。由repl_semi_after_send_event函数完成。这里等待是死等还是有超时时间限制呢?调用情况:repl_semi_after_send_event->readSlaveReply->my_net_read->net_read_packet->net_read_packet_header->net_read_
2018-01-08 21:22:12 814
原创 Aerospike SSD模式时,磁盘数据存储格式
1、磁盘数据格式2、代码分析//磁盘头初始化函数ssd_device_header *ssd_init_header(as_namespace *ns){ //header的大小是1M ssd_device_header *h = cf_valloc(SSD_DEFAULT_HEADER_LENGTH); if (! h) { return 0; } memset(h, 0,
2018-01-04 20:57:52 1601
原创 MySQL半同步--slave操作
salve的半同步操作涉及一下几个函数:semisync_slave_plugin.cc:: Binlog_relay_IO_observer relay_io_observer = { sizeof(Binlog_relay_IO_observer), // len repl_semi_slave_io_start, // start repl_semi_sla
2018-01-01 15:01:32 852
空空如也
innodb插入意向锁如何使用
2015-06-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人