my17_Mysql 主从切换
注意事项:
从库提升为主库read_only要设置为OFF
原主库改为从库后,read_only要设置ON
read_only=ON并不能对root生效,确保root不会进行数据写入
从主库进行 flush tables with read lock 开始,到主从切换完毕,数据库不能对外提供写服务;一直对外提供读服务
建立主从
***************************************************
grant replication slave on *.* to 'repl_user'@'192.168.%' identified by 'rootroot';
show master status\G;
CHANGE MASTER TO
  MASTER_HOST='192.168.56.103',
  MASTER_USER='repl_user',
  MASTER_PASSWORD='rootroot',
  MASTER_PORT=3302,
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=154,
  MASTER_CONNECT_RETRY=10;
start slave;
主库加锁,锁定数据使之不再变化
***********************************
mysql -uautomng -p -h192.168.56.103 -P3302
use vodb;
call p_addtest(1000000);   #使用过程插入数据以模拟业务数据,此处如果是使用root用户执行的,那么后面变为从库,仅仅使用read_only=OFF是无法中止该过程的
mysql -uroot -p -S /data/mysql/log/eee/mysql_eee.sock
flush logs;
flush tables with read lock;
确定从库与主库一致
**************************************
mysql> show full processlist;
+----+-------------+-----------+------+---------+------+---------------------------------------------+-----------------------+
| Id | User        | Host      | db   | Command | Time | State                                       | Info                  |
+----+-------------+-----------+------+---------+------+---------------------------------------------+-----------------------+
|  2 | root        | localhost | NULL | Sleep   | 6017 |                                             | NULL                  |
|  3 | root        | localhost | vodb | Query   |    0 | starting                                    | show full processlist |
| 42 | system user |           | NULL | Connect |  172 | Waiting for master to send event            | NULL                  |
| 43 | system user |           | NULL | Connect |    0 | Waiting for dependent transaction to commit | NULL                  |
| 44 | system user |           | NULL | Connect |  114 | Waiting for an event from Coordinator       | NULL                  |
| 45 | system user |           | NULL | Connect |  114 | System lock                                 | NULL                  |
| 46 | system user |           | NULL | Connect |  173 | Waiting for an event from Coordinator
从库要出现 Slave has read all relay log;
mysql> show full processlist;
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+-----------------------+
| Id | User        | Host      | db   | Command | Time | State                                                  | Info                  |
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+-----------------------+
|  2 | root        | localhost | NULL | Sleep   | 6058 |                                                        | NULL                  |
|  3 | root        | localhost | vodb | Query   |    0 | starting                                               | show full processlist |
| 42 | system user |           | NULL | Connect |  213 | Waiting for master to send event                       | NULL                  |
| 43 | system user |           | NULL | Connect |    1 | Slave has read all relay log; waiting for more updates | NULL                  |
| 44 | system user |           | NULL | Connect |   79 | Waiting for an event from Coordinator
从库提升为主
*************************************************
reset master;
stop slave;
reset slave all;
grant replication slave on *.* to 'repl_user'@'192.168.56.%' identified by 'rootroot';
flush privileges;
set global read_only=OFF;
show master status\G;
*************************** 1. row ***************************
             File: mysql-bin.000001
         Position: 613
记下master status后,数据库就可以对外提供写服务了
原主库变成新从库
*************************************************
#如果root用户有业务,则直接关库,是防止一些未执行完的过程、触发器、JOB继续修改库,直接关闭一次,完全中断所有事务,包括root用户正在执行的事务;如果root没有业务使用,则不必关心此问题
#mysql> shutdown;
#mysqld_safe --defaults-file=/etc/my_eee.cnf --user=mysql &
set global read_only=ON;  
reset master;
CHANGE MASTER TO
  MASTER_HOST='192.168.56.102',
  MASTER_USER='repl_user',
  MASTER_PASSWORD='rootroot',
  MASTER_PORT=3302,
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=613,
  MASTER_CONNECT_RETRY=10;
start slave;
my17_Mysql 主从切换的更多相关文章
- Redis集群(九):Redis Sharding集群Redis节点主从切换后客户端自动重新连接
		
上文介绍了Redis Sharding集群的使用,点击阅读 本文介绍当某个Redis节点的Master节点发生问题,发生主从切换时,Jedis怎样自动重连新的Master节点 一.步骤如下: 1.配 ...
 - redis主从配置及主从切换
		
环境描述: 主redis:192.168.10.1 6379从redis:192.168.10.2 6380 一.主从配置 1.将主从redis配置文件redis.conf中的aemonize no ...
 - mysql主从切换
		
mysql 主从切换 主停,从做主步骤如下: 1 确认从服务器已经完成所有同步操作:stop slave io_thread show processlist 直到看到状态都为:xxx has rea ...
 - Sentinel-Redis高可用方案(二):主从切换
		
Redis 2.8版开始正式提供名为Sentinel的主从切换方案,Sentinel用于管理多个Redis服务器实例,主要负责三个方面的任务: 1. 监控(Monitoring): Senti ...
 - redis的主从复制,读写分离,主从切换
		
当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能. redis提供了一个master,多个s ...
 - redis主从配置及主从切换  转
		
redis主从配置及主从切换 转自 http://blog.sina.com.cn/s/blog_67196ddc0101h8v0.html (2014-04-28 17:48:47) 转载▼ 分 ...
 - mysql主从备份、主从切换的例子
		
指定binlog(因为时通过binlog实现数据同步的) 配置完后重启数据库服务,用show master status可以看到Master信息. StepB: 在SerB的my.cnf中指定 [ht ...
 - redis - 主从复制与主从切换
		
redis2.8之前本身是不支持分布式管理的,一般建议使用redis3.0及以后版本 redis主从切换的方法 keepalive 或者 使用sentinel线程管理 说明如何使用sentinel实 ...
 - master_pos_wait函数与MySQL主从切换
		
背景 主从切换是高可用MySQL架构的必要步骤(即使用不发生,也要有备无患).一般设置为双M(M1.M2),假设当前状态为写M1,而M2只读,切换的大致流程如下: 1. 停止应用写M1,将M1设置为 ...
 
随机推荐
- Python01 python入门介绍
			
1 python简介 1.1 为什么学python python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van ...
 - condition实现通知部分线程
			
多个condition实现通知部分线程: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks. ...
 - acrord32 pdf自动化
			
这个东西就是帮助用户自动化处理pdf的 . 可以看作是adobe reader的命令行
 - 树莓派研究笔记(8)-- 编译lakka v2.1源码
			
Lakka越玩越觉得强大.如果要是能自己修改一下代码,实现自定义的一些操作就更好了.还可以修复字体文件,修复在部分机器上自动更换Mac地址导致ip变化的问题. 所以我们来尝试编译这个系统.这篇文章几乎 ...
 - Java_枚举类
			
枚举类 枚举类不出来的时候只能如下写代码 //Student.java package cn.itcast.enumeration; public class Student { private St ...
 - 水平居中的那些事之解决jqpagination分页插件无法居中的问题
			
固定宽度的元素水平居中只需要 margin-left:auto: margin-right:auto; 换成 margin:0 auto; 也是一样的 今天给我用的jqPagination分页插件实现 ...
 - C#实现截图
			
语言环境 框架: .NET Framework 3.5IDE: VS2013窗体A(主窗体) /// <summary>/// 点击弹出截屏窗体/// </summary>// ...
 - iOS 12中无法获取WiFi的SSID了?
			
1.现象描述 2018年苹果升级iOS12之后,没有办法获取wifi名称等信息. 2.获取wifi信息 2.1 获取代码 /************ 控制器的view 加载完毕 的时候调用 ***** ...
 - 167. Two Sum II - Input array is sorted两数之和
			
1. 原始题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明 ...
 - 从零开始安装 Ambari (4) -- 通过 Ambari 部署 hadoop 集群
			
1. 打开 http://192.168.242.181:8080 登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INSTALL WIZARD”,开始创建一个集群 3 ...