查看表的碎片空间并优化表文件

innodb在执行删除时,只是物理上做了被删除的标记,实际上并没有从数据文件中真正删除。即,所占用的空间也没有实际释放。后台的purge线程会定期清理这些已经删除的记录和文件,但并不会回收这些已经删除的空间给操作系统,即会在数据文件中产生许多空洞,数据文件也会越来越大。查看空洞的方法:通过SHOW TABLE STATUS的结果,查看实际数据Data_length和空洞数据Data_free的比例...
阅读(188) 评论(1)

Aerospike迁移--2

emigration_send_start { ... msg_set_uint32(m, MIG_FIELD_OP, OPERATION_START); ... uint64_t start_xmit_ms = 0; //向目标节点发送消息后,等待emig->ctrl_q队列接收到返回的ACK //如果在1秒钟内,没收到,则继续向目标节点重发;否则循环等...
阅读(46) 评论(0)

Percona Server 5.7 并行doublewrite 特性

http://www.sohu.com/a/198636371_610509In this blog post, we’ll discuss the ins and outs of Percona Server 5.7 parallel doublewrite.在这篇文章中,我们将由里及外讨论Percona Server 5.7的并行doublewrite。After implementing p...
阅读(254) 评论(0)

MySQL8.03 RC 已发布

http://www.sohu.com/a/201667615_610509The MySQL 8.0.3 Release Candidate is availableMySQL8.03 RC 已发布。The MySQL Development team is very happy to announce that MySQL 8.0.3, the first 8.0 Release Candid...
阅读(338) 评论(0)

Aerospike 读写过程中对partition tree的引用计数的处理

as_tsvc_process_transaction: as_partition_reserve_write or as_partition_reserve_read pthread_mutex_lock(&p->lock); ... partition_reserve_lockfree(p, ns, rsv); |--cf_rc...
阅读(258) 评论(0)

Aerospike SSD模式下,刷写磁盘和写入数据swb的关系

void ssd_flush_current_swb(drv_ssd *ssd, uint64_t *p_prev_n_writes, uint32_t *p_prev_size) { uint64_t n_writes = cf_atomic64_get(ssd->n_wblock_writes); //ssd->n_wblock_writes表示ssd->swb_write_q队列中有...
阅读(395) 评论(0)

Aerospike迁移

1、immigration_handle_start_request功能:      构建immigration;      将immigration放到g_immigration_hash表;      发送ACK;2、原emigrate_tree发送迁移消息后,immigration_handle_insert_request进入迁入,然后发送ACK3、原接收到ACK,发送OPERATION_...
阅读(334) 评论(0)

MySQL半同步复制--master dump线程2

mysql_binlog_send: //是否在binlog index文件中能够找到指定的binlog文件名 if (mysql_bin_log.find_log_pos(&linfo, name, 1)) ... if ((file=open_binlog_file(&log, log_file_name, &errmsg)) < 0)//打开binlog文件...
阅读(448) 评论(0)

MySQL半同步复制--master dump线程1

dispatch_command->:COM_BINLOG_DUMP:->com_binlog_dump(thd, packet, packet_length) // 检查当前连接是否有复制权限,这对应于我们创建复制账号时是否赋予了该账号REPLICATION_SLAVE权限。 //如果没有复制权限,直接结束运行,否则继续运行 check_global_access(thd...
阅读(394) 评论(0)

MySQL忘记root密码怎么办

如果忘记了root密码,可以使用skip-grant-table参数进行修改密码,方法如下:1、在配置文件my.cnf中添加一行skip-grant-table,重启服务2、可以不使用密码进行登录,然后使用update命令更改密码3、重新将skip-grant-table从my.cnf中删除,重启服务此时可以使用新密码登录了。虽然这种方法可以方便忘记密码的人进行维护,但是这个是不是安全风险很高啊?...
阅读(235) 评论(0)

MySQL误删除文件后,如何恢复

MySQL在运行中,如果误删除数据文件,只有服务进程没有退出,那么就有办法将其恢复。首先介绍Linux下lsof:他可以显示打开的文件和网络连接。其次/proc目录包含了反映内核和进程树的各种文件。/proc/504目录包含的是PID是504的进程信息。通过ps命令查看进程的进程ID。两者结合可以将删除的文件恢复。1、表文件:[rdb@localhost yzs]$ lltotal 120-rw-...
阅读(201) 评论(0)

MySQL如何查看元数据锁阻塞在哪个语句上

操作步骤:1、session 1 执行:      start transaction;      select *from t1;2、session 2 在第1步执行完后执行:     drop table t1;此时session 2的drop语句被阻塞。那么怎么分析查看元数据锁呢?方法:1)执行show processlist;,可以看到drop语句在等待元数据锁mysql> show pr...
阅读(3984) 评论(5)

MySQL半同步复制--handle_slave_io--5

handle_slave_io函数调用read_event函数读取event后,然后调用queue_event将读取的event写入relay log文件中。代码如下:static int queue_event(Master_info* mi,const char* buf, ulong event_len) { int error= 0; String error_msg; ulo...
阅读(598) 评论(0)

MySQL半同步复制--handle_slave_io--4

handle_slave_io函数调用read_event函数:read_event函数从连接中读取事件,如果没有事件将会阻塞在这里等待master发送事件。#0 0x00898402 in __kernel_vsyscall () #1 0x00c28133 in poll () from /lib/libc.so.6 #2 0x08a90315 in vio_io_wait (vio=0...
阅读(458) 评论(1)

MySQL复制--slave设置读取binlog的位置

change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info ->mi->rli->rli_init_info()->初始化./relay-bin.000001,4...
阅读(403) 评论(0)
216条 共15页1 2 3 4 5 ... 下一页 尾页
    公告
    欢迎交流 QQ:744516037 声明:版权所有,欢迎转载! 转载请注明出处:http://blog.csdn.net/yanzongshuai
    个人资料
    • 访问:102747次
    • 积分:2589
    • 等级:
    • 排名:第15523名
    • 原创:143篇
    • 转载:70篇
    • 译文:3篇
    • 评论:13条
    博客专栏
    最新评论