mysql 主从切换

主停,从做主
步骤如下:

1 确认从服务器已经完成所有同步操作:
stop slave io_thread
show processlist

直到看到状态都为:xxx has read all relay log 表示更新都执行完毕

2 停止从服务器slave服务
stop slave

3 将从服务器切换为主服务器:
reset master

完成切换。
PS: 如果从服务器设置了 read only 选项,则需要将这个参数去掉并重新启动数据库

主从切换:
最终结果:主库可写,从库只读

首先保证主从数据库都开启二进制日志,方法是在my.cnf中的[mysqld]节中加入log-bin=log-bin-name
然后查看是否开启mysql> show variables; log-bin ON

为了在切换时不会漏掉数据库的更新,必须将主数据库停掉,设为只读:
set global read_only=1;
(注意和FLUSH TABLES WITH READ LOCK;的区别, UNLOCK TABLES;解锁)
show variables like 'read_only%';确认 read_only ON

然后在主库mysql> flush logs; 刷新一下log-bin,
在从库中查看mysql> show slave status \G 是否完全更新

查看主库的状态mysql> show master status \G 是否还有数据更新

如果没有就可以停掉从库mysql> stop slave;

查看新主库的状态mysql> show master status \G 记录file和pos

这时可以关掉新主库的只读属性mysql> set global read_only=0;

新从库改变连接的主库信息mysql> change master to

master_host='192.168.30.122',
master_user='repl',
master_password='123456',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=120;
这时可以启动新从库了:mysql> start slave;
查看新从库状态:mysql> show slave status\G

PS:主从切换后数据不一致,特别蛋疼冲突各种set global sql_slave_skip_counter =1; 跳过冲突
所以在今后做主从切换时候一定要保证主库数据都已经入库结束,没有数据再写时做主从切换。

mysql主从切换的更多相关文章

  1. master_pos_wait函数与MySQL主从切换

    背景 主从切换是高可用MySQL架构的必要步骤(即使用不发生,也要有备无患).一般设置为双M(M1.M2),假设当前状态为写M1,而M2只读,切换的大致流程如下: 1.  停止应用写M1,将M1设置为 ...

  2. (转)mysql主从切换步骤

    原文:http://6226001001.blog.51cto.com/9243584/1723273 1> 正常切换 1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Ha ...

  3. mysql主从切换步骤

    1>   正常切换 1)从server检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O th ...

  4. mysql 主从切换

    4)提升slave为master Stop slave: Reset master; Reset slave all; 在5.6.3版本之后 Reset slave; 在5.6.3版本之前 查看sla ...

  5. mysql主从切换摘要

    1.需要提升为主的从库,停止io线程等待slave数据全部更新完毕 stop slave IO_THREAD #show processlist的输出,直到看到状态是Slave has read al ...

  6. mysql主从备份、主从切换的例子

    指定binlog(因为时通过binlog实现数据同步的) 配置完后重启数据库服务,用show master status可以看到Master信息. StepB: 在SerB的my.cnf中指定 [ht ...

  7. keepalived 结合mysql 自动切换

    启动keepalived:/usr/local/sbin/keepalived -D -d -S 0 master ip:192.168.32.6 master:/root/sbin# cat /et ...

  8. Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证

    实验环境 两台Centos7  MySQL5.7.12 IP地址为:192.168.10.36  192.168.10.37 一台Centos7 Mycat IP地址为:192.168.10.31 一 ...

  9. 一次mysql主从加keepalived配置搭建及切换演示

    [需求] 根据需求需要搭建mysql主从架构数据库及加keepalived进行自动切换VIP [环境介绍]  系统环境:CentOS release 6.4 (Final) + Server vers ...

随机推荐

  1. MySQL For Windows Zip解压版安装

    前言 Windows 下 MySQL 有msi和zip解压安装版两种,而zip版只需解压并做简单配置后就能使用,我个人比较喜欢这种方式. 注意我们这里说的MySQL是指MySQL服务器,有很多初学的同 ...

  2. ATL中窗口句柄与窗口过程的关联方法

    ATL中采用了一种动态生成机器指令的方式进行窗口句柄与窗口对象进行关联,以是详细分析: CWindowImpl会在第一次调用Create时注册窗口类,该窗口类是的信息是在CWindowImpl的子类中 ...

  3. java上传xls文件

    using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System. ...

  4. LB负载均衡层次结构(摘抄)

    作为后端应用的开发者,我们经常开发.调试.测试完我们的应用并发布到生产环境,用户就可以直接访问到我们的应用了.但对于互联网应用,在你的应用和用户之间还隔着一层低调的或厚或薄的负载均衡层软件,它们不显山 ...

  5. 《CoffeeScript应用开发》学习: 第四章-改进应用程序

    检查值是否存在 使用存在运算符 CoffeeScript中有一个非常有用的存在运算符?,它能正确地处理值是否存在(存在的意思为变量不为undefined或者null)的情况.在变量后添加?来判断它是否 ...

  6. Activiti开发环境配置

    Ubuntu安装 1.下载Ubuntu安装镜像 http://www.ubuntu.com/download/ 2.制作ISO U盘安装镜像  不能用Ultraiso制作U盘启动镜像,新版的Ubunt ...

  7. kendo ui 富文本编辑控件 Editor 实现本地上传图片,并显示

    富文本编辑的组件有很多,大名鼎鼎的KENDO UI中自然也有,但是默认功能中,只能包含网络图片, 而如果要实现本地上传图片,KENDO UI也提供了相应的功能,但必须实现KENDO规定的多个接口, 而 ...

  8. 用fxc.exe编译shader文件(*.fx, *.hlsl)的设置

    原文出自:http://msdn.microsoft.com/en-us/library/windows/desktop/bb509709(v=vs.85).aspx#Profiles 拿DX11 S ...

  9. Android菜鸟成长记10 -- ListVew

     ListView在我们学习Android的过程中是非常重要得一个部分. listview主要有两个职责 1)将数据填充到布局. 2)处理用户的选择点击等操作. 一个ListView的创建需要3个元素 ...

  10. 驱动开发学习笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇

    驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentatio ...