
MySQL
文章平均质量分 69
吃饭端住碗
专职DBA,走向技术巅峰,迎娶白富美!
展开
-
MySQL并行DDL
MySQL 8.0.27引入了innodb_ddl_threads变量来控制用于创建二级索引时的并行线程数量,此参数一般和一并引入的innodb_ddl_buffer_size一起使用,innodb_ddl_buffer_size用于指定进行并行DDL操作时能够使用的buffer大小,buffer是在所有的DDL并行线程中平均分配的,所以一般如果调大innodb_ddl_threads变量时,也需要调大innodb_ddl_buffer_size的大小。原创 2024-08-20 19:21:20 · 1067 阅读 · 0 评论 -
源码分析CHANGE REPLICATION SOURCE TO
从MySQL 8.0.23版本开始,CHANGE MASTER TO开始被替换为CHANGE REPLICATION SOURCE TO,下面使用MySQL 8.0.32的代码分析语句的具体执行流程。原创 2024-08-20 19:14:16 · 355 阅读 · 0 评论 -
MySQL并行复制死锁源码解析
线程#2所处的函数为Commit_order_manager::wait_for_its_turn,该函数被函数MYSQL_BIN_LOG::ordered_commit调用,其逻辑处于两阶段提交的FLSH STAGE之前,用于判断从库提交事务时是否需要按照和主库一样的顺序进行提交(slave_preserve_commit_order)。此时死锁就产生了,线程#2由于slave_preserve_commit_order的原因需要等待线程#4,而线程#4等待线程#5,线程#5又等待线程#2。原创 2024-08-20 19:04:48 · 1896 阅读 · 0 评论