关闭
当前搜索:

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 ...
阅读(31) 评论(0)

InnoDB事务锁相关结构

...
阅读(24) 评论(0)

MySQL8.0-新特性-role

一、简介role可以看做一个权限的集合,这个集合有一个统一的名字role名。可以给多个账户统一的某个role的权限权限的修改直接通过修改role来实现,不需要每个账户一个一个的grant权限,方便运维和管理。role可以创建、删除、修改并作用到他管理的账户上。二、案例1、创建表mysql> create table t1(id1 int primary key,id2 int); Query OK...
阅读(32) 评论(0)

MySQL5.6复制原理图

...
阅读(37) 评论(0)

MySQL8.0-新特性-在线修改系统变量,并将修改后的持久化到磁盘

有时候实例启动后,为了图省事在线修改了某个系统变量,重启后需要重新设置,怎么设置忘记了,或者忘记怎么设置到my.cnf文件了。很不方便。mysql8.0有了一个新特性,在线修改系统变量后,会将修改后的值持久化到磁盘。他并不是持久化到my.cnf中,而且重新生成一个新的文件mysqld-auto.cnf,并将修改后的值保存到该文件中。mysqld-auto.cnf文件中的配置相比my.cnf文件具有...
阅读(23) 评论(0)

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_...
阅读(45) 评论(0)

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,...
阅读(282) 评论(0)

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...
阅读(339) 评论(0)

MySQL半同步--after_send_event与after_reset_master

mysql_binlog_send->RUN_HOOK(binlog_transmit, after_send_event,                   (thd, flags, packet, log_file_name, skip_group ? pos : 0))->repl_semi_after_send_event:int repl_semi_after_send_event(B...
阅读(378) 评论(0)

MySQL半同步--before_send_event

mysql_binlog_send-->before_send_event --> repl_semi_before_send_event --> repl_semisync.updateSyncHeaderint repl_semi_before_send_event(Binlog_transmit_param *param, un...
阅读(213) 评论(0)

Aerospike保证不了一致性

介绍Aerospike虽然号称支持事务,但是并不能满足事务的一致性。对于内存+持久化的模式,当事务提交后,事务操作的记录值并没有刷到磁盘上,只是将其存到了swb的缓存中。这个缓存由一个后台线程进行刷写。如果事务提交后,此时所有的值都是看得到的;而其值没有刷到磁盘上,此时宕机重启后是会丢失记录的。至于丢失多少事务的记录,就要看没有刷到磁盘的swb有多少,如果有很多事务的swb没有刷到磁盘上,那么将会...
阅读(287) 评论(0)

MySQL半同步复制--reserve_header

mysql_binlog_send->reset_transmit_packet->RUN_HOOK(binlog_transmit, reserve_header, (thd, flags, packet))--repl_semi_reserve_header每次发送event前,如果是半同步都需要添加3个字节。int ReplSemiSyncMaster::reserveSyncHeader(...
阅读(252) 评论(0)

MySQL半同步复制--transmit_stop

函数调用mysql_binlog_send->(void) RUN_HOOK(binlog_transmit, transmit_stop, (thd, flags))->repl_semi_binlog_dump_end代码分析int repl_semi_binlog_dump_end(Binlog_transmit_param *param) { //至少有一个slave开启了半同步 ...
阅读(157) 评论(0)

MySQL半同步复制--transmit_start

介绍半同步复制binlog dump线程需要做的事情。相关结构:Binlog_transmit_observer transmit_observer = { sizeof(Binlog_transmit_observer), // len repl_semi_binlog_dump_start, // start repl_semi_binlog_dump_end, // stop ...
阅读(253) 评论(0)

MySQL半同步复制--after_rollback

调用流程ha_rollback_low->(void) RUN_HOOK(transaction, after_rollback, (thd, all));->repl_semi_report_rollback->repl_semi_report_commit说明该桩设置在数据库回滚后。在binlog中,经常有rollback操作,用来将之前的事务回滚掉。对于回滚操作这里要在binlog中添加一个...
阅读(250) 评论(0)
247条 共17页1 2 3 4 5 ... 下一页 尾页
    公告
    欢迎交流 QQ:744516037 邮箱:yanzongshuai87@126.com 声明:版权所有,欢迎转载! 转载请注明出处:http://blog.csdn.net/yanzongshuai
    个人资料
    • 访问:128331次
    • 积分:3169
    • 等级:
    • 排名:第12587名
    • 原创:170篇
    • 转载:73篇
    • 译文:4篇
    • 评论:23条
    博客专栏
    最新评论