mysql从库slave停止_带有临时表的主从slave从库停止(server stop)

本文介绍了在MySQL从库中停止slave时需要注意的临时表问题。在stop slave前,需确认'Slave_open_temp_tables'是否为0,以避免临时表数据丢失或异常。正确步骤包括先停io_thread,检查临时表状态,如有则等待完成后再停止整个从库。此外,文章探讨了临时表在主从同步、线程关闭后的生存状态,以及如何处理相关问题。
摘要由CSDN通过智能技术生成

带有临时表的从库 stop slave,操作步骤

在stop slave之前一定要确定变量“Slave_open_temp_tables”是否为0,确定该从库是否有打开临时表。如果在不为0时,还有临时表,停止了从库或slave sql thread(IO同步进程),当从库重新开启后,之前对temporary table临时表上的update更新操作不可用,因为未被IO写入磁盘。

正确停从库步骤如下

1.

mysql> stop slave io_thread

2.

mysql> show status like 'Slave_open_temp_tables';

3.

如果'Slave_open_temp_tables'不为0,就执行如下,否则跳到第四步

mysql> start slave io_thread

4.

#service mysqld stop

即先停主从的IO进程,确认临时表上的更新是否都写入磁盘,临时表是否为0,若不为0,等IO完了,再关从库

存在临时表的数据更新步骤,主从同步中调用IO_thread,将主库的binlog日志同步到从库

调用sql_thread进程,根据同步到本地的binlog更新数据库。因为存在临时表,sql_thread只是更新临时表中的数据。

调用IO_thread进程,将临时表中的更新写回原表(表数据修改直接修改磁盘中内容)

提出几个问题:

1,关掉slave的mysqld, 那临时表肯定是不存在了,这

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值