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. Shaders(读书笔记4 --- Real-Time rendering)

    1. vertex,pixel以及geometry shaders共享一个programming model,即common-shader core,在GPU架构中的unified shader可以和 ...

  2. IT行业找工作难

    1.面试官主要看年龄,年龄小,技术再牛也不给你面试机会. 2.现在培训机构太多了,不管多大岁数的人看见这行业赚钱就立刻辞职去培训. 3.刚培训出来的能找到2w!!有的老板面试只看工作经验,不管之前干什 ...

  3. [JSP]解决Maven创建项目失败

    来源:http://lovespss.blog.51cto.com/1907593/522225 新建Maven项目时遇到这个错误: Unable to create project from arc ...

  4. DataRow循环取出

    string strName = null; DataRow dRow = DB.GetDataRow(Sql语句); if (null != dRow) { foreach (DataRow ite ...

  5. 珍惜每一滴水(kbmmw 中的内存调试)

    作为一个服务器端的应用,最基本的要求就是稳定,当然要做一个稳定的服务器端,需要涉及到很多方面, 内存泄露就是稳定的一个致命杀手,因为服务器的物理内存是有限的,即使一个功能有很小的内存泄露,经过 长时间 ...

  6. [ASP.NET]

    public static int iA; protected void Button1_Click(object sender, EventArgs e) { //Label1.Text Respo ...

  7. linux 学习5 文本编辑器 vim

    vim 没有菜单,只有命令 //root用户既可以用vi,也可以用vim, 无实质性区别,vim是vi的升级版//粘贴用shift+insert , 要在insert模式下粘贴,否则粘贴不全// ^ ...

  8. uploadify v3.2.1 上传报大量js 类似__flash__addCallback(document.getElementById("SWFUpload_0"), "ReturnUploadStart"); 错误

    报__flash__addCallback未定义 报__flash__removeCallback未定义 最后解决方法:  uploadify  提供了destroy方法,每次使用完后,清空就可以了. ...

  9. #define 小知识

    #define N 15 #define M 2+N #define W 2*M 问3*W的结果是多少? 结果为27: 知识点:define只能进行非常简单的运算,简单来说就是仅仅是将自身的值代入,而 ...

  10. 尽快写完Math!

    (1)Arranging Coins 解题思路一:这个想法是关于二次方程,得到算术和的公式是sum =(x + 1)* x / 2 所以对于这个问题,如果我们知道和,那么我们可以知道x =(-1 + ...