Mysql主主同步失败后的恢复
基础信息
主库:
- 数据库2 10.126.4.2
- 数据库3 10.126.4.3
1. 停止数据库3对外服务
防止同步过程中服务通过数据库3写入数据
$ firewall-cmd --remove-port=3306/tcp $ firewall-cmd --add-rich-rule="rule f amily="ipv4" source address="10.126.4.2" port protocol="tcp" port="3306" accept" $ firewall-cmd --reload
2. 备份主库
$ mysqldump -uroot -p --single-transaction --master-data=2 --no-autocommit -A >alldatas-190708.sql
记住 MASTER_LOG_FILE 和 MASTER_LOG_POS
$ head -n 30 alldatas-190708.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000016', MASTER_LOG_POS=801595396;
3. 切断数据库2、3的同步
两台主机分别执行
mysql>change master to master_host='' mysql>stop slave; mysql>reset slave;
4. 清空数据库3
清空数据文件
$ rm /var/lib/mysql $ mv /db/mysql /db/mysql-190708 $ mkdir /db/mysql $ ln -s /db/mysql /var/lib/mysql chown mysql:mysql /var/lib/mysql chown -h mysql:mysql /var/lib/mysql
初始化
mysqld --initialize --user=mysql grep password /var/log/mysqld.log
重置 master 和 slave
mysql> reset master; mysql> show master status\G mysql> stop slave; mysql> reset slave; mysql> show slave status\G
File: mysql-bin.000001 Position: 154 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec) ERROR: No query specified
5. 导入主库信息,重新指向主库
$ mysql -uroot -p < alldatas.sql
mysql > change master to -> master_host='10.126.4.2', -> master_user='repl', -> master_password='********', -> master_log_file='binlog.???', -> master_log_pos=???; mysql > start slave; mysql > show slave status\G
6. 数据库2配置主库信息
查询数据库3的 master_log_file 和 master_log_pos
10.126.4.3
show master status;
10.126.4.2
mysql > change master to -> master_host='10.126.4.3', -> master_user='repl', -> master_password='********', -> master_log_file='binlog.???', -> master_log_pos=???; mysql > show slave status\G
7. 放开数据库3对外服务
$ firewall-cmd --reload
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring Batch(4)——Item概念及使用代码
在 批处理概念 中介绍一个标准的批处理分为 Job 和 Step。本文将结合代码介绍在Step中Reader、Processor、Writer的实际使用。 Reader Reader是指从各种各样的外部输入中获取数据,框架为获取各种类型的文件已经预定义了常规的Reader实现类。Reader通过ItemReader接口实现: public interface ItemReader<T> { T read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException; } read方法的作用就是读取一条数据,数据以泛型T的实体结构返回,当read返回null时表示所有数据读取完毕。返回的数据可以是任何结构,比如文件中的一行字符串,数据库的一行数据,或者xml文件中的一系列元素,只要是一个Java对象即可。 Writer Writer通过ItemWriter接口实现: public interface ItemWriter<T> { void w...
- 下一篇
分布式主动感知在智能运维中的实践|分享实录
导读:企业数字化使得运维智能化转型成为必然,宜信积极推动 AIOps 在科技金融企业的落地实践。本次主题是探索 AIOps 落地的一种形式:通过行为采集、仿真模拟、主动感知等手段,从用户侧真实系统使用体验出发,结合全维监控数据,更加有效的实现智能异常检测和根因分析。 一、运维的发展 1.1 运维的价值 早期的运维工作比较简单,一般是先由系统集成工程师及研发工程师研发完项目后交付出来,再由负责运维工作的人员从后台做一些操作,保证系统正常运行。 图1 随着软件研发行业和技术的发展,运维的工作也变得越来越丰富。现阶段运维的工作与价值主要集中在三个方面: 1)效率 大量业务上线,运维人员需要保障快速高效地为系统提供资源、应对业务变更、响应操作请求。 2)质量 运维的目标是保障质量及系统的稳定性。也就是说,要保障业务和系统7*24小时在线上稳定运行,为用户提供流畅舒适的体验。为实现这个目标,运维的相关工作包括: 故障预测:没出现问题之前预测到故障发生的可能。 异常检测:出现问题时很快检测并定位到异常点。 根因分析:分析问题的诱因,找出真正导致问题的根本原因。 动态扩容:问题处理的过程中可能受到复...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器