精华内容
下载资源
问答
  • mysql5.7数据安装目录是C:\ProgramData\MySQL\MySQL Server 5.7\Data,将要恢复的数据库和ibdata1复制运行良好的数据库上下面,重启mysql就可以恢复数据了。如图所示

    mysql5.7数据安装目录是C:\ProgramData\MySQL\MySQL Server 5.7\Data,将要恢复的数据库和ibdata1复制运行良好的数据库上下面,重启mysql就可以恢复数据了。如图所示

     

    展开全文
  • 1. 指定恢复时间对于MySQL 4.1.4,可以在mysqlbinlog语句中通过--start-date和--stop-date选项指定DATETIME格式的起止时间。举例说明,假设在今天上午10:00(今天是2005年4月20日),执行SQL语句来删除一个大表。要想...

    1. 指定恢复时间

    对于MySQL 4.1.4,可以在mysqlbinlog语句中通过--start-date和--stop-date选项指定DATETIME格式的起止时间。举例说明,假设在今天上午10:00(今天是2005年4月20日),执行SQL语句来删除一个大表。要想恢复表和数据,你可以恢复前晚上的备份,并输入:

    mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456 | mysql -u root -pmypwd

    该命令将恢复截止到在--stop-date选项中以DATETIME格式给出的日期和时间的所有数据。如果你没有检测到几个小时后输入的错误的SQL语句,可能你想要恢复后面发生的活动。根据这些,你可以用起使日期和时间再次运行mysqlbinlog:

    mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456 | mysql -u root -pmypwd

    在该行中,从上午10:01登录的SQL语句将运行。组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。下一节介绍如何实现。

    2. 指定恢复位置

    也可以不指定日期和时间,而使用mysqlbinlog的选项--start-position和--stop-position来指定日志位置。它们的作用与起止日选项相同,不同的是给出了从日志起的位置号。使用日志位置是更准确的恢复方法,特别是当由于破坏性SQL语句同时发生许多事务的时候。要想确定位置号,可以运行mysqlbinlog寻找执行了不期望的事务的时间范围,但应将结果重新指向文本文件以便进行检查。操作方法为:

    mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00" /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql

    该命令将在/tmp目录创建小的文本文件,将显示执行了错误的SQL语句时的SQL语句。你可以用文本编辑器打开该文件,寻找你不要想重复的语句。如果二进制日志中的位置号用于停止和继续恢复操作,应进行注释。用log_pos加一个数字来标记位置。使用位置号恢复了以前的备份文件后,你应从命令行输入下面内容:

    mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 | mysql -u root -pmypwd

    mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 | mysql -u root -pmypwd

    上面的第1行将恢复到停止位置为止的所有事务。下一行将恢复从给定的起始位置直到二进制日志结束的所有事务。因为mysqlbinlog的输出包括每个SQL语句记录之前的SET TIMESTAMP语句,恢复的数据和相关MySQL日志将反应事务执行的原时间。

    第二种方法需要使用SHOW BINLOG EVENTS命令找出pos:

    mysql> SHOW BINLOG EVENTS \G

    *************************** 1. row ***************************

    Log_name: mysql-bin.000001

    Pos: 4

    Event_type: Format_desc

    Server_id: 1

    End_log_pos: 107

    Info: Server ver: ***, Binlog ver: 4

    *************************** 2. row ***************************

    Log_name: mysql-bin.000001

    Pos: 107

    Event_type: Query

    Server_id: 1

    End_log_pos: 198

    Info: use `test`; create table logtest(id int)

    *************************** 3. row ***************************

    Log_name: mysql-bin.000001

    Pos: 198

    Event_type: Query

    Server_id: 1

    End_log_pos: 266

    Info: BEGIN

    *************************** 4. row ***************************

    Log_name: mysql-bin.000001

    Pos: 266

    Event_type: Query

    Server_id: 1

    End_log_pos: 359

    Info: use `test`; insert into logtest values (1)

    ...

    展开全文
  • 在我们日常工作场景,首先要做到架构...----MySQL 主从同步原理图一、Mysql主库宕机情况分类:1)硬件问题,(服务器、ecs、虚拟主机等等)宕机2)service问题,Mysql宕机,服务异常,端口异常等二、硬件问题处理思路硬...

    在我们日常工作场景,首先要做到架构无单点隐患,其次在优化【安全、性能、高可用、高并发等】,Mysql这款关系型数据库稳定、高效,所以使用广泛,如果企业架构是1主多从,那如果Mysql主库宕机,如何解决?

    ----MySQL 主从同步原理图

    f3c0689c25023d756dde4ecca2f9a684.png

    一、Mysql主库宕机情况分类:

    1)硬件问题,(服务器、ecs、虚拟主机等等)宕机

    2)service问题,Mysql宕机,服务异常,端口异常等

    二、硬件问题处理思路

    硬件问题我们可以查看IDC巡检记录,或通过远程控制卡查看硬件运行状态,根据事实情况就行硬件故障报修进行处理,恢复业务步骤:

    1)查看报警信息,确认业务是否收到影响,必要时切从库进行数据交互

    2)IDC询问排查

    3)确认硬件故障,短时间无法修复开Case处理

    4)通知部门领导,处理进度,并实时记录

    5)事件处理完成后,拟写故障报告,会议通报。

    三、MySQL service问题处理思路

    1)首先要做的就是判断是否影响业务,是否需要切库,保证业务运行时首要任务

    2)如果此时需要切从库,安装如下步骤进行:

    1> 先查看MySQL 从库状态

    show processlist\G

    ##如果看到两个状态,说明此时的从库和主库是同步的 =====[如果不同步,建议考出binlog进行同步]

    #state: waiting for master to send event I/O线程

    #state:has read all relay log;waiting for the slave I/O thread to update it sql线程

    2> 登录从库分别查看:【多个从库 哪个替代主库呢??】

    cat /data/3306/data/master.info

    cat /data/3307/data/master.info

    ##看哪个从库的哪个master.info哪个更新,就说明哪个从库一致性更高,所以此时就确定最新的库为主库。

    选个pos最大的作为主库

    或利用半同步的功能,直接选择做实时同步的这个从库。

    3> 确保所有relay log全部更新完毕。

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

    ##直到看到has read all relay log;表示从库更新都执行完毕

    4> 登录从库

    mysql -uroot -p您的密码 -S /data/3306/mysql.sock #sock路径根据自己的进行修改

    stop slave;

    reset master;

    quit;

    5> 进入数据库数据目录,删除master.info relay-log.info

    cd /data/3306/data/master

    rm -f master.info relay-log.info

    ## 检查授权表,类似read-only参数

    6> 3306 提升从库为主库

    vim /data/3306/my.cnf

    开启:

    log-bin =/data/3306/mysql-bin

    ## //如果存在log-slave-updates read-only等参数一定要注释掉。

    /data/3306/mysql stop

    /data/3306/mysql start

    到此,提升主库完毕

    四、所有slave指向新的master

    7> 如果主库服务器没down,需要去主库拉取bin-log补全提升主库的从库

    8> 其它从库操作 【指向新的master】

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

    登录从库

    stop slave;

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

    start slave;

    show slave status\G;

    以上就是关于数据库如何快速回复业务的介绍,如果大家有更好的方法可以告诉我,下面是集中数据库高可用方案:

    a7318ba3d609c0dd2a67339a84ec876c.png

    3.快照

    方法很多,就看您如何选择。

    五、另外关于ECS无法使用 MHA 说法问题解释

    1、mha必须是0.56版本才支持GTID

    2、阿里云ECS不支持浮动IP 阿里云HaVIP禁用

    ##要注意:阿里云的上ECS服务器跟我们自己的虚拟机不一样,它不支持浮动IP的

    3、阿里云服务器上keepalived只能设置单播

    4、keepalived配置文件里加脚本判断mysql是否启动需要首尾写好配置文件

    阿里云工单反馈截图

    5eac6affe83809916e8dfed09a7e59e0.png

    展开全文
  • Mysql主从架构-主库宕机如何恢复业务一、Mysql主库宕机情况分类:1)硬件问题,(服务器、ecs、虚拟主机等等)宕机2)service问题,Mysql宕机,服务异常,端口异常等二、硬件问题处理思路硬件问题我们可以查看IDC巡检...

    Mysql主从架构-主库宕机如何恢复业务

    一、Mysql主库宕机情况分类:

    1)硬件问题,(服务器、ecs、虚拟主机等等)宕机

    2)service问题,Mysql宕机,服务异常,端口异常等

    二、硬件问题处理思路

    硬件问题我们可以查看IDC巡检记录,或通过远程控制卡查看硬件运行状态,根据事实情况就行硬件故障报修进行处理,恢复业务步骤:

    1)查看报警信息,确认业务是否收到影响,必要时切从库进行数据交互

    2)IDC询问排查

    3)确认硬件故障,短时间无法修复开Case处理

    4)通知部门领导,处理进度,并实时记录

    5)事件处理完成后,拟写故障报告,会议通报。

    三、MySQL service问题处理思路

    1)首先要做的就是判断是否影响业务,是否需要切库,保证业务运行时首要任务

    2)如果此时需要切从库,安装如下步骤进行:

    1> 先查看MySQL 从库状态

    show processlist\G

    ##如果看到两个状态,说明此时的从库和主库是同步的 =====[如果不同步,建议考出binlog进行同步]

    #state: waiting for master to send event I/O线程

    #state:has read all relay log;waiting for the slave I/O thread to update it sql线程

    2> 登录从库分别查看:【多个从库 哪个替代主库呢??】

    cat /data/3306/data/master.info

    cat /data/3307/data/master.info

    ##看哪个从库的哪个master.info哪个更新,就说明哪个从库一致性更高,所以此时就确定最新的库为主库。

    选个pos最大的作为主库

    或利用半同步的功能,直接选择做实时同步的这个从库。

    3> 确保所有relay log全部更新完毕。

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

    ##直到看到has read all relay log;表示从库更新都执行完毕

    4> 登录从库

    mysql -uroot -p您的密码 -S /data/3306/mysql.sock #sock路径根据自己的进行修改

    stop slave;

    reset master;

    quit;

    5> 进入数据库数据目录,删除master.info relay-log.info

    cd /data/3306/data/master

    rm -f master.info relay-log.info

    检查授权表,类似read-only参数

    6> 3306 提升从库为主库

    vim /data/3306/my.cnf

    开启:

    log-bin =/data/3306/mysql-bin

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

    /data/3306/mysql stop

    /data/3306/mysql start

    到此,提升主库完毕

    四、所有slave指向新的master

    7> 如果主库服务器没down,需要去主库拉取bin-log补全提升主库的从库

    8> 其它从库操作 【指向新的master】

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

    登录从库

    stop slave;

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

    start slave;

    show slave status\G;

    以上就是关于数据库如何快速回复业务的介绍,如果大家有更好的方法可以告诉我,下面是集中数据库高可用方案:

    Mysql主从架构-主库宕机如何恢复业务

    3.快照

    方法很多,就看您如何选择。

    五、另外关于ECS无法使用 MHA 说法问题解释

    1、mha必须是0.56版本才支持GTID

    2、阿里云ECS不支持浮动IP 阿里云HaVIP禁用

    ##要注意:阿里云的上ECS服务器跟我们自己的虚拟机不一样,它不支持浮动IP的

    3、阿里云服务器上keepalived只能设置单播

    4、keepalived配置文件里加脚本判断mysql是否启动需要首尾写好配置文件

    阿里云工单反馈截图

    Mysql主从架构-主库宕机如何恢复业务

    转载自:https://blog.51cto.com/qiuyt/2148881

    展开全文
  • MySQL异常宕机数据恢复

    万次阅读 2018-07-25 11:34:06
    MySQL异常宕机数据恢复 首先遇到问题千万不要慌,尤其是线上的问题,更不能紧张,心理素质对DBA来说也是一项挑战,可能你的手一抖就会导致多少人无法正常使用业务,如果你没有把握,请先把现场环境备份后再进行...
  • 我们日常工作场景,首先要做到架构...----MySQL 主从同步原理图一、Mysql主库宕机情况分类:1)硬件问题,(服务器、ecs、虚拟主机等等)宕机2)service问题,Mysql宕机,服务异常,端口异常等二、硬件问题处理思路硬件...
  • 一、mysql group replication 生来就要面对两个问题:一、主节点宕机如何恢复。二、多数节点离线的情况下、余下节点如何继续承载业务。在这里我们只讨论第一个问题、也就是说当主结点宕机之后、我们怎么把它从新加入...
  • 首先介绍几个概念:REDO 为了重做对数据页(page)更改保存的信息,用于恢复UNDO 为了撤销对数据记录(tuple)更改保存的信息,用于回滚事务LSN(Log Sequence NO) 日志号,一个递增的64位整数,一个LSN表示一个(redo)Log...
  • 事件起始某夜,我正在床上冥想准备入睡,忽然同事向我求救:消息内容如下:Oh My Gold 改了些配置,啥都没了!...修复过程我们数据库用的版本是 MySQL5.7 ,放置在Linux服务器上,在my.cnf 配置了数据库物...
  • mysql主从宕机恢复步骤

    千次阅读 2020-08-21 20:27:46
    mysql主从宕机恢复步骤 在生产环境中经常会出现slave出现错误,从而发生主从同步故障,此时就需要人工干预了。以下是小生整理出的一个回复思路,欢迎大佬指导,分享更好的方法。 宕机恢复分为几种情况: 1.从库数据...
  • 事件起始某夜,我正在床上冥想准备入睡,忽然同事向我求救:消息内容如下:Oh My Gold 改了些配置,啥都没了!...修复过程我们数据库用的版本是 MySQL5.7 ,放置在Linux服务器上,在my.cnf 配置了数据库物...
  • mysql异常宕机故障数据恢复思路整理

    千次阅读 2016-03-31 16:37:36
    最近遇到个比较有意思的问题,mysql服务掉后无法启动,想了好多办法,虽然解决了问题,数据没有丢失,但是没有按照自已的思路来,未免还是有些不甘。 遇到问题不能慌,尤其是线上的环境,更不能紧张,心理素质对...
  • 0.概述: ... 当服务器宕机后,从上次更新数据库到宕机前的所有数据更新都将丢失,即所谓的回档。这部分数据永远也找不回来了,通常都是服务器重启后给予所有玩家一定的补偿。 1.引子: MySQL...
  • 问题:服务器宕机之后数据库无法启动(数据库文件损坏,非正常重启导致的文件损坏)描述:数据库是mycat+mysql的读写分离集群解决方式寻找问题的过程服务器宕机了之后,重启全部的mysql,mycat,keepalived,haproxy。...
  • 首先介绍几个概念:REDO 为了重做对数据页(page)更改保存的信息,用于恢复UNDO 为了撤销对数据记录(tuple)更改保存的信息,用于回滚事务LSN(Log Sequence NO) 日志号,一个递增的64位整数,一个LSN表示一个(redo)Log...
  • 事件起始某夜,我正在床上冥想准备入睡,忽然同事向我求救:消息内容如下:Oh My Gold 改了些配置,啥都没了!...修复过程我们数据库用的版本是 MySQL5.7 ,放置在Linux服务器上,在my.cnf 配置了数据库物...
  • Mysql数据库宕机恢复mysql增量恢复必备条件:*开WIKI提示:如果有多个库,此时:2)恢复凌晨全备开始恢复,先回复凌晨全备,然后恢复整备到出问题时的所有增量数据。解压全备文件[root@lampbackup]# gzip -d mysql_...
  • 2)service问题,Mysql宕机,服务异常,端口异常等 二、硬件问题处理思路 硬件问题我们可以查看IDC巡检记录,或通过远程控制卡查看硬件运行状态,根据事实情况就行硬件故障报修进行处理,恢复业务步骤: 1)查看报警...
  • 本章内容:主从复制简介原理备份主库及恢复从库,配置从库生效读写分离如果主宕机了,怎么办?双主的情况MySQL 备份及恢复方案备份单个及多个数据库mysqldump 的常用参数如何增量恢复呢?增量恢复的必要条件生产环境...
  • 该参数取值为0、1、20 代表党MySql关闭时,InnoDB需要完成所有的full purge 和 merge insert buffer操作,这会需要一些时间。1 代表不需要完成上述的full purge ,merge insert buffer操作,但是在缓冲池的一些数据脏...
  • 本章内容:主从复制简介原理备份主库及恢复从库,配置从库生效读写分离如果主宕机了,怎么办?双主的情况MySQL 备份及恢复方案备份单个及多个数据库mysqldump 的常用参数如何增量恢复呢?增量恢复的必要条件生产环境...
  • InnoDB如果发生意外宕机了,数据会丢么? 对于这个问题,稍微了解一点MySQL知识的人,都会斩钉截铁的回答:不会! 为什么? 他们也会毫不犹豫地说:因为有重做日志(redo log),数据可以通过redo log进行恢复。 ...
  • 点击上面蓝色字体关注我们技术 / 架构 / 职场 / 面试关注即送:4000G 架构师视频来源:sq.163yun.com/blog/article/172546631668785152InnoDB如果发生意外宕机了,数据会丢么?对于这个问题,稍微了解一点MySQL知识...
  •  一、主节点宕机如何恢复。  二、多数节点离线的情况下、余下节点如何继续承载业务。  在这里我们只讨论第一个问题、也就是说当主结点宕机之后、我们怎么把它从新加入到高可用集群中去。这个问题又可以细分成...
  • 前言Redis作为内存型的数据库,虽然很快,依然有着很大的隐患,一旦「服务器宕机」重启,内存中数据还会存在吗?很容易想到的一个方案是从后台数据恢复这些数据,如果数据量很小,这倒是一个可行的方案。但是如果...
  • 基于docker搭建的mysql主从数据库模拟模拟宕机数据恢复生产环境中不可避免会出现MySQL服务宕机的情况,常见的场景如下:对于单一服务器结构一般通过设置sync_binlog=1与innodb_flush_log_at_trx_commit = 1(这两个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 462
精华内容 184
关键字:

mysql宕机数据恢复

mysql 订阅