mysql主从切换
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主从切换的更多相关文章
- master_pos_wait函数与MySQL主从切换
背景 主从切换是高可用MySQL架构的必要步骤(即使用不发生,也要有备无患).一般设置为双M(M1.M2),假设当前状态为写M1,而M2只读,切换的大致流程如下: 1. 停止应用写M1,将M1设置为 ...
- (转)mysql主从切换步骤
原文:http://6226001001.blog.51cto.com/9243584/1723273 1> 正常切换 1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Ha ...
- mysql主从切换步骤
1> 正常切换 1)从server检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O th ...
- mysql 主从切换
4)提升slave为master Stop slave: Reset master; Reset slave all; 在5.6.3版本之后 Reset slave; 在5.6.3版本之前 查看sla ...
- mysql主从切换摘要
1.需要提升为主的从库,停止io线程等待slave数据全部更新完毕 stop slave IO_THREAD #show processlist的输出,直到看到状态是Slave has read al ...
- mysql主从备份、主从切换的例子
指定binlog(因为时通过binlog实现数据同步的) 配置完后重启数据库服务,用show master status可以看到Master信息. StepB: 在SerB的my.cnf中指定 [ht ...
- keepalived 结合mysql 自动切换
启动keepalived:/usr/local/sbin/keepalived -D -d -S 0 master ip:192.168.32.6 master:/root/sbin# cat /et ...
- Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证
实验环境 两台Centos7 MySQL5.7.12 IP地址为:192.168.10.36 192.168.10.37 一台Centos7 Mycat IP地址为:192.168.10.31 一 ...
- 一次mysql主从加keepalived配置搭建及切换演示
[需求] 根据需求需要搭建mysql主从架构数据库及加keepalived进行自动切换VIP [环境介绍] 系统环境:CentOS release 6.4 (Final) + Server vers ...
随机推荐
- ListView 中的ImageView Button
1.ListView 中的ImageView Button的点击事件会屏蔽掉ItemView的点击事件 原因是ImageView Button在回执过程中会抢夺item的焦点 解决办法:在xml中添 ...
- rabbitMQ+php
RabbitMQ与PHP(一) 项目中使用RabbitMQ作为队列处理用户消息通知,消息由前端PHP代码产生,处理消息使用Python,这就导致代码一致性问题,调整消息定义时需要PHP和Python都 ...
- 错误C4146的解决方法
error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型: 那么什么情况下会遇见这种错误呢,例如下代码: 错误代码1:int number = -2147483648; //erro ...
- (转)R空间数据处理与可视化
前言 很多朋友说在R里没法使用高德地图,这里给出一个基于leaflet包的解决方法. library(leaflet) # 添加高德地图 m <- leaflet() %>% addTil ...
- Java Annotation 注解
java_notation.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin ...
- javascript对象引用与赋值
avascript对象引用与赋值 <script type="text/javascript"> //例子一: 引用 var myArrayRef = new Arra ...
- lamp 安装 apache php
http://www.cnblogs.com/CheeseZH/p/4694135.html
- Mac下安装 PIL
最近入手MacBook Pro 在配置PIL环境的时候遇到一些问题.现在把解决方式记录下来,希望对有需要的有所帮助. 1. 安装brew : brew 又叫Homebrew,是Mac OSX上的软件 ...
- NET Core1.0之CentOS平台开发控制台程序DEMO
微软发布NET Core1.0正式版本,并支持了red hat linux平台,所以在CentOS平台,通过编辑器玩下控制器程序. 一.安装.NET Core SDK 先下载SDK并放在指定目录. s ...
- 用Docker Compose启动Nginx和Web等多个镜像
安装docker-compose 运行命令 curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker ...