数据库主库从库宕机重启后binlog数据同步
由于阿里云经典网络迁移到专用网络,一不小心没有先预备方案调整网段, 导致实例无法以内网IP形式访问数据库,被迫进行数据库停机后网络网段调整,导致宕机了几个小时。。。被客户各种投诉爆了。。
基于这次数据库恢复血泪史, 特整理解决办法, 让日后同学避免再犯。
数据库master库重启后, 确保能正常提供服务。由于生产上BI系统使用的是slave从库做数据查询, 从库的数据库已经落后了master好几天,
查看从库状态:
mysql> show slave status\G;
显示
Slave_IO_Running: No
Slave_SQL_Running: No
说明从库尚未启动数据库同步, 由于几天的binlog的数据量太大, 找binlog开始位置找了好久没找到, 索性先把当前的master数据库导出一份拷贝到从库, 按照导出的时间找binlog位置点。
使用 mysqldump 命令导出整个master 到文件 hairdonkey.sql.2018-07-20
从库先删除后新增
# 删除从库的数据库
drop database hairdonkey;
# 创建新数据库
CREATE DATABASE `hairdonkey` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
# 导入备份的数据
use hairdonkey;
source /data/db_backup/master/hairdonkey.sql.2018-07-20
# 用户授权
grant select, delete, insert, update on hairdonkey.* to onlyreader@'172.%';
flush privileges;
从库导入完毕后,开始关键的一步: 找binlog开始同步的位置!
/data/mysql/bin/mysqldump --socket=/data/mysql/mysql.sock -h172.17.120.167 -uhairdonkey -p123 -B hairdonkey --table sms_message_log --opt --extended-insert=false --single-transaction > sms_message_log.sql;
source /data/work/sms_message_log.sql
select * from hairdonkey.mid_sms_message_log a where not exists(
select 1 from sms_message_log b where a.id = b.id
) order by id desc;
mysqlbinlog -uhairdonkey -p123 -P3306 -h172.17.120.167 --start-datetime="2018-07-21 19:55:40" --stop-datetime="2018-07-21 19:55:59" --read-from-remote-server -vv mysql-bin.000772 >row3.sql
mysqlbinlog -uhairdonkey -p123 -P3306 -h172.17.120.167 --start-position="875932395" --stop-position="878561125" --read-from-remote-server -vv mysql-bin.000772 >row2.sql
change master to master_host='172.17.120.167',master_user='hairdonkey',master_password='',master_log_file='mysql-bin.000772',master_log_pos=875845853;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
附加:
mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续
跳过错误有两种方式:
1.跳过指定数量的事务:
mysql>slave stop;
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 #跳过一个事务
mysql>slave start
2.修改mysql的配置文件,通过slave_skip_errors参数来跳所有错误或指定类型的错误
vi /etc/my.cnf
[mysqld]
#slave-skip-errors=1062,1053,1146 #跳过指定error no类型的错误
#slave-skip-errors=all #跳过所有错误
---------------------
作者:seteor
来源:CSDN
原文:https://blog.csdn.net/seteor/article/details/17264633
版权声明:本文为博主原创文章,转载请附上博文链接!
数据库主库从库宕机重启后binlog数据同步的更多相关文章
- cvm母机宕机重启后数据库修复
下午正在开周会,然后收到短信,说是X.X.X.X的机器ping不通了,一轮测试过后,发现是某台数据库服务器挂了,先不急着重启,问下tencent客服... 乖乖的好家伙,母机的主板坏了....一个小时 ...
- 一个参数引起的mysql从库宕机血案
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://suifu.blog.51cto.com/9167728/1859252 一个参数 ...
- Oracle备库宕机启动解决方案
简介 ORA-10458: standby database requires recovery ORA-01196: 文件 1 由于介质恢复会话失败而不一致 ORA-01110: 数据文件 1: ' ...
- 宕机了,Redis数据丢了怎么办?
持续原创输出,点击上方蓝字关注我 目录 前言 什么是AOF? 三种写回策略 日志文件太大怎么办? AOF重写会阻塞主线程吗? AOF的缺点 总结 什么是RDB? 给哪些数据做快照? 快照时能够修改数据 ...
- primary库新增数据文件后,standby库无法创建文件并终止数据同步
主库是RAC环境,使用asm存放数据文件,备库是操作系统本地文件系统存放数据文件.在主库执行以下操作: SQL> alter tablespace ysdv add datafile '+dat ...
- 解决PC有道云笔记卸载重装后无法数据同步问题
将客户端内容成功同步后,按键盘win键选择文件资源管理器,将以下路径一次粘贴到搜索框按回车搜索,将搜索到的所有内容(文件,文件夹)全部删除,再重启软件登录账户同步试试看 配置目录:%USERPROFI ...
- 一次Oracle宕机切换后产生ORA错误的处理过程
问题背景 机房意外断电后Oracle主服务器启动失败,Oracle备机接管 为了安全,管理员对于数据库做expdp的逻辑备份.但备份时发现AttributeInstance表备份失败,提示ORA-01 ...
- openstack环境-解决windows虚机重启后比当前时间晚8小时问题
背景: 生产环境下,发现windows虚机每次重启,时间都会倒退到虚机的格林威治时间(+8小时才是北京时间),也就是比当前时间晚8小时.测试发现,windows虚机所用的镜像,缺少了一个os_type ...
- keepalived 容器在宿主机重启后无法启动问题:报错:daemon is already running
初步猜测原因是:keepalived容器内的keepalived.pid文件在keepalived容器非正常退出时,没有正确删除,造成第二次启动时容器检查到pid文件已经存在,认为该进程已经存在,因为 ...
随机推荐
- 小程序获取formid配置模板消息
小程序无限获取formid,发送模板信息 1.发送模板信息需要条件:formid 2.formid产生环境:提交form表单产生,并且只有真机才能出现————安卓一个13位的时间戳(近期使用得时候,安 ...
- 三十分钟学会 Less
每一门技术的出现都是为了解决现存的问题,同样的,Less 的出现是为了解决 CSS 中过于呆板的写法.Less 官方文档 中对 Less 的使用有详细的介绍,总结一下为:Less = 变量 + 混合 ...
- jmeter 使用白皮书
一.jmeter中的响应端言 断言就类似LoadRunner中的检查点.对上一个请求返回的信息,做字符串.数据包大小.HTML.XML.图片等做判断,确保返回的信息的准确性. 以下只讲解下响应断言步骤 ...
- SpringBoot图片上传(五) 上一篇的新版本,样式修改后的
简单描述:一次上传N张图片(N可自定义):上传完后图片回显,鼠标放到已经上传的图片上后,显示删除,点击后可以删除图片,鼠标离开后,图片恢复. 效果:一次上传多个图片后的效果 上传成功: 鼠标悬浮到图片 ...
- python3 基础语法(一)
一.标识符: 第一个字符必须是字母表中字母或下划线 “_” . 例如: #!/usr/bin/env python #coding=utf-8 a = 3 _aa = 3 a3 = 3 _aa3 = ...
- df -h hang 问题
此处仅截取原文中的解决方案,以便快速查找解决方法. 解决方法如下:1. systemctl restart proc-sys-fs-binfmt_misc.automount; 2. 升级到最新 sy ...
- Spark安装部署| 运行模式
Spark 一种基于内存的快速.通用.可扩展的大数据分析引擎: 内置模块: Spark Core(封装了rdd.任务调度.内存管理.错误恢复.与存储系统交互): Spark SQL(处理结构化数据). ...
- redis学习(八)——redis应用场景
毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ...
- C++ vector的用法(整理)
vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器.vector 是C++ STL的一个重要成员,使用它时需要包含头文件: #include<vector>; ...
- 易忘&有用 的冷门Anaconda命令
Python接触有将近2年了,但是在倒腾anaconda环境的时候,总有一些命令忘记需要查半天,今天趁着配置pytorch,特此总结一下,留待后用. 1. 创建和删除环境 创建环境 conda cre ...