MySQL之主从切换

在一主多从的环境中,如主库为M,从库为S1、S2,当主库出现故障时,主从切换的详细步骤如下:

1 首先要保证所有从库已经执行了relay log中的全部更新,用以下语句查看:

mysql> show processlist\G

直到看到下面的语句,表示全部更新执行完毕。

Has read all relaylogwaiting for the slave I/O thread to update it

2 在所有从库上执行下面的语句:

mysql> stop slave io_thread;

3 在从数据库S1上,停止从服务,然后把S1设置成主数据库:

mysql> stop slave;

mysql> reset master;

4 在S2上(如果有多台,则在所有从服务器上,此时S1为主服务器),停止从服务,然后重新设置S1为主数据库,再执行start slave启动复制:

mysql> stop slave;

mysql> change master to master_host = ‘192.168.1.101‘;

mysql> start slave;

5 修改客户端应用指向S1服务器:

6 删除S1服务器(新的主库服务器)上的master.info和relay-log.info文件,否则一旦重启还会按照从库启动。

7 最后,如果M服务器恢复,则可以按照S2的方法设置为S1的从库。

备注:上面的步骤默认S1是启用了log-bin选项的,其次,S1上没有开启log-slave-updates参数。

时间: 2024-12-27 22:28:52

MySQL之主从切换的相关文章

京东MySQL数据库主从切换自动化

1. 产生背景 随着京东业务的高速增长,数据的重要性对于京东来说重要程度不说自明,在信息时代,数据有着比人们更大的力量,数据库的价值可见一斑,数据库的存在为人们提供了更快的查询,那么为了更好地做到数据库的高可用,保证持续提供服务,简化DBA操作,节省数据库故障切换的时间,故开发此数据库主从切换自动化系统. 2. 实现原理 此系统基于MHA做数据库切换,结合京东数据库切换的特点,定制自己的切换系统.MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的

京东DBA 王伟 | MySQL数据库主从切换自动化

http://mp.weixin.qq.com/s?__biz=MjM5ODI5Njc2MA==&mid=2655808515&idx=1&sn=069d05a3bad6f67f400475ca6ad714c2&chksm=bd7421d48a03a8c274570da116945bfd6a2eb90615d8b7fba9d78e57890604bd1c415591f81d&mpshare=1&scene=23&srcid=01101Pn9HfMWE

mysql+keepalived主从切换脚本 转

Keepalived MySQL故障自动切换脚本 MySQL架构为master-slave(主从),master故障自动切换到slave上.当然也可以设置为双master,但这里有个弊端:就是当主的压力很大时,从上延时很大,比如落后2000秒,此时主挂了,从接管(VIP漂移到从),用户刚才发表的文章,此时因为同步延时大,还没复制过来,于是用户又发表了一篇文章,当原来的master修好后,因从的IO和SQL线程还在开启状态,还会继续同步刚才没有同步复制完的数据,这时有可能把用户新发表的文章更改掉,

MySQL数据库主从切换脚本自动化

#!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb import time import sys class m_s: def __init__(self,host,user,password,port): self.host=host self.user=user self.passowrd=password self.port=port def getConn(self,db="mysql"): try: con

mysql的主从切换

切换主从: 从库都已经执行完了relay log 中的全部更新: mysql> stop slave io_thread; Query OK, 0 rows affected (0.06 sec) mysql> show processlist\G *************************** 1. row *************************** Id: 6 User: system user Host: db: NULL Command: Connect Time:

mysql主从切换维护时的几点注意

随着业务量的不断增加,数据库的压力总是会越来越大的,如果是要对mysql数据库的硬件升级,势必是要对mysql主从做切换,mysql的主从复制的结构如果不借助第三方工具时做mysql的高可用,要做主从的切换是要做停机维护手动切换的,这里就以普通的一主一从的结构中简单的说一说mysql数据库主从切换的几个要注意的点: 1.server id以前看见很多人在做主从切换的时候没有注意到这一点,导致slave IO报错,包括自己也有过,这个还是要稍微注意下,尤其是在mysql的大规模集群下 2.在主从切

《Mycat学习笔记》 第三篇. MySql 主从同步异常后,主从切换

1)系统环境说明 MySql 5.5 主从节点 127.0.0.1:3306   主结点,为验证主从切换效果,手动停止服务 127.0.0.1: 3307    从结点 1 127.0.0.1:338     从结点 2 ,为验证主从切换效果,在主结点停止后,新增两个记录. MyCat 1.5 schema.xml 配置 具体配置说明,参考上篇: <Mycat学习笔记> 第二篇. MySql 读写分离与日志分析——主从多结点 <dataHost name="localhost1

mysql mha 主从自动切换 高可用

mha(Master High Availability)目前在MySQL多服务器(超过二台),高可用方面是一个相对成熟的解决方案. 一,什么是mha,有什么特性 1. 主服务器的自动监控和故障转移 MHA监控复制架构的主服务器,一旦检测到主服务器故障,就会自动进行故障转移.即使有些从服务器没有收到最新的relay log,MHA自动从最新的从服务器上识别差异的relay log并把这些日志应用到其他从服务器上,因此所有的从服务器保持一致性了.MHA通常在几秒内完成故障转移,9-12秒可以检测出

master_pos_wait函数与MySQL主从切换

背景 主从切换是高可用MySQL架构的必要步骤(即使用不发生,也要有备无患).一般设置为双M(M1.M2),假设当前状态为写M1,而M2只读,切换的大致流程如下: 1.  停止应用写M1,将M1设置为只读2.  检查M2的slave status直到赶上M13.  将M1设置为可写 其中在第2步细化为a)       在M1上show master status;得到binlog位置P,因为已经设为只读,不会变化b)       循环检测M2上的执行位置,若未到P,则过几秒再查.循环直到从库追上