MySQL主从复制之主库宕机处理

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

主库宕机  Master DOWN机-企业场景一主多从宕机从库切换主继续和从同步过程详解


登陆从库,show processlist;

查看两个线程的更新状态;


查看所有从库中,查看

/application/mysql-5.6.20/data/mysql.info

确保更新完毕,看看两个从库中哪个库最快,经过测试没有延迟的情况POS差距很小,甚至一致的


然后选取其中POS最大的作为主库


1、确保所有relay log 全部更新完毕

在每个从库上执行 stop slave io_thread; show processlist;

直到看到Has read all relay log;表示从库更新执行完毕:


2、登陆POS值最大的从库执行如下命令:

mysql -uroot -p123456  -S  /application/mysql-5.6.20/mysql.sock

stop slave;

retset master;

quit;


3、进到数据库数据目录,删除master.info relay-log.info

cd /application/mysql-5.6.20/data

rm -f master.info relay-log.info

检查授权表,read-only等参数



4、提升从库为主库

vim /application/mysql-5.6.20/my.cnf


开启:

log-bin = /application/mysql-5.6.20/mysql-bin


//如果不存在log-slave-updates read-only等一定要注释掉它。

/application/mysql-5.6.20/mysql restart


到此为止,提升主库完毕。



5、如果主库服务器没宕机,需要去主库binlog补全,提升主库为从库


6、其他从库操作


已检查(同步user rep均存在)

登陆从库


stop slave


cahnge master to master_host='10.0.0.7;  // 如果不同步,就指定位置点

start slave;

show slave status\G


7、修改程序的配置文件从主数据库到从数据库(现在新的主库)

      平时访问数据库用域名,则直接可以修改hosts解析


8、修理损坏的主库,完成后作为从库使用,或者切换



我们现在讲的是主库意外宕机,例如我们有计划切换,怎么做呢?


1)主库锁表

2)登陆所有的库查看同步状态,是否完成

 后面操作与前面同1至4步骤




      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1747078,如需转载请自行联系原作者


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
MySQL主从复制
MySQL主从复制
35 0
|
1月前
|
关系型数据库 MySQL Java
MySQL的主从复制 && SpringBoot整合Sharding-JDBC解决读写分离
MySQL的主从复制 && SpringBoot整合Sharding-JDBC解决读写分离
39 0
|
1月前
|
SQL 关系型数据库 MySQL
MySQL中主从复制的原理和配置命令
要原因包括提高性能、实现高可用性、数据备份和灾难恢复。了解两大线程( I/O 和 SQL)I/O线程:目的:I/O线程主要负责与MySQL服务器之外的其他MySQL服务器进行通信,以便复制(replication)数据。 功能: 当一个MySQL服务器作为主服务器(master)时,I/O线程会将变更日志(binary log)中的事件传输给从服务器(slave)。从服务器上的I/O线程负责接收主服务器的二进制日志,并将这些事件写入本地的中继日志(relay log)。 配置: 在MySQL配置文件中,你可以通过配置参数如和来启用二进制日志和指定服务器ID。log-bin server
MySQL中主从复制的原理和配置命令
|
1月前
|
负载均衡 容灾 关系型数据库
mysql主从复制
mysql主从复制
44 1
|
1天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
|
2天前
|
SQL canal 运维
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
|
3天前
|
存储 关系型数据库 MySQL
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
|
3天前
|
运维 负载均衡 关系型数据库
MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构
MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构
|
11天前
|
设计模式 容灾 关系型数据库
MySQL 主从复制架构
MySQL 主从复制架构
|
12天前
|
SQL 关系型数据库 MySQL
使用Python的pymysql库连接MySQL,执行CRUD操作
使用Python的pymysql库连接MySQL,执行CRUD操作:安装pymysql,然后连接(host='localhost',user='root',password='yourpassword',database='yourdatabase'),创建游标。查询数据示例:`SELECT * FROM yourtable`;插入数据:`INSERT INTO yourtable...`;更新数据:`UPDATE yourtable SET...`;删除数据:`DELETE FROM yourtable WHERE...`。
26 0