月初某晚朋友说数据库误删了,没有备份能不能恢复,我一愣,突然想到之前我们遇到过的问题,便问他是否开启了binlog。

show variables like 'log_bin'; //查看命令

如果现实log_bin是ON,就说明打开了。

值得庆幸,他们的生产数据库开了binlog。然后跟他说了下这个可以恢复,让他们去操作一下。结果那边问我能不能帮忙操作,犹豫一下,说可以。

我的操作步骤:

  • 找到存放binlog的目录,执行命令

mysqlbinlog mysql-bin.000011 > bak.log

  • 找到删除的语句确切时间
  • 导出sql

mysqlbinlog --stop-datetime="2019-09-07 17:30:31" mysql-bin.000011 >all.sql

stop-datetime应该是误删操作前一刻时间。

下载all.sql倒入本地数据库,导出误删表,发给他们,让他们,导入生产数据库。后面监测生产数据库和相关业务,无异常即可

反思:

  • 导出sql时应该指定数据库

mysqlbinlog --stop-datetime="2019-09-07 17:30:31" --database=test mysql-bin.000893 >all.sql

  • 数据库重要数据尽量一天一备份,然后开启binlog,为了减少硬盘空间占用,设置expire_logs_days
  • 生产数据库不使用root用户,新建用户,限制drop,truncate等危险操作权限

开启binlog的配置:

#设置日志格式
binlog_format = mixed#设置日志路径,注意路经需要mysql用户有权限写
log-bin = /data/mysql/logs/mysql-bin.log#设置binlog清理时间
expire_logs_days = 7#binlog每个日志文件大小
max_binlog_size = 100m#binlog缓存大小
binlog_cache_size = 4m#最大binlog缓存大小
max_binlog_cache_size = 512m

更多关于binlog的知识请看mysql手册。

mysqlbinlog​dev.mysql.com

centos7恢复mysql数据库_mysql数据库恢复过程记录相关推荐

  1. centos7恢复mysql数据库_MySQL数据库升级迁移填坑记

    原库:*.*.101.73/74 系统环境: Suse 12.4 MySQL: 5.7.29 新库:*.*.110.46/47 系统环境:CentOS7.7 64位 MySQL版本: 5.7.30 [ ...

  2. mysql备份表恢复数据库_mysql备份恢复数据库据/表

    备份单个数据库,只备份表,如要恢复,必须先创建一个数据库 [root@s]# mysqldump -u root -p dbname1 > dbname1.sql [root@s]# mysql ...

  3. mysql数据库恢复 覆盖吗_MySQL数据库恢复

    现在最重要的是如何将原来的数据恢复出来? WEB和FTP比较容易解决,直接将硬盘作为从盘挂到其它的机子上,将数据copy出来就可以了. SVN也比较方面, 使用"svnadmin dump& ...

  4. mysql 备份_MySQL数据库备份实操

    本文基于mysql(8.0.20)及xtrabackup(8.0.13)最新版本,实现了完整的mysqldump逻辑备份.binlog增量备份.xtrabackup物理备份恢复,帮你快速掌握操作要点 ...

  5. mysql冷备份恢复无法启动_MYSQL冷备份 恢复

    MYSQL冷备份恢复 1. SHOW VARIABLES LIKE '%data%' 查看datadir目录,这就是所有数据的备份目录,好像只有innodb的可以直接覆盖备份 2. 停掉MYSQL服务 ...

  6. mysql 主从配置指定数据库_Mysql数据库主从配置

    Mysql主从同步 Mysql数据库进行主从配置后,可以实现数据库的备份.同时应用也可以实现读写分离,提高应用的并发量. 主从同步原理 主从原理大致有三个步骤: 在主库上把数据更改记录到二进制日志中( ...

  7. reference MySQL数据库_MySQL数据库基础

    MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...

  8. mysql命令导出数据库_MYSQL 数据库导入导出命令

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. MySQL命令行导出数据库 1,进入MySQL目录下的bin ...

  9. mysql 小雨_Mysql数据库

    Mysql服务配置 安装mysqld服务: yum groupinstall 'mysql database server' yum –y install mysql-server php-mysql ...

  10. mysql如何恢复单表_MySQL如何恢复单库或单表,以及可能遇到的坑

    前言: MySQL 逻辑备份工具最常用的就是 mysqldump 了,一般我们都是备份整个实例或部分业务库.不清楚你有没有做过恢复,恢复场景可能就比较多了,比如我想恢复某个库或某个表等.那么如何从全备 ...

最新文章

  1. php功能与特性,PHP 6将实现的8个特性和功能
  2. portainer图形化监控
  3. HighNewTech:18.11.07—第五届世界互联网大会—互联网届的奥斯卡大奖—15张PPT见证15项世界互联网领先科技成果
  4. flex 文字竖排_flex button字竖排展示
  5. role cache - set data user parameter - /UI2/CACHE_DISABLE
  6. IOS中的事件响应链,事件冒泡机制基本了解
  7. 锋利的jQuery第2版学习笔记8~11章
  8. flink API之 Environment
  9. 数据可视化实战案例分享
  10. 2016,云计算行业走向何方?
  11. 三口烧瓶规格有哪些_三口烧瓶有哪些规格,用途是什么 | | 化工资讯网
  12. Flash打造拟真生态水族鱼缸
  13. AR智能眼镜会成未来趋势
  14. 高斯——拉盖尔积分法和高斯——勒让德积分法求积分
  15. React中useMemo函数【调优的不二选则】的使用及一看就会的案例(个人觉得很详细了,而且包含了很多知识点呀)
  16. 夜已深,为何身体没有困意!
  17. Android利用TranslateAnimation 动画实现上下平移横线(模拟人脸识别扫描,二维码识别扫描)
  18. ygo游戏王卡组_游戏王最多种类的卡组,竟然高达六种形态
  19. ai画面怎么调大小_AI中怎么把图像等比例扩大或缩小尺寸
  20. 入职宇宙条之后,我知道了这些

热门文章

  1. 立足国产自主可控技术 达梦DM8数据库新品化繁为简
  2. Spark+Alluxio性能调优十大技巧
  3. HR怒甩程序员男友:不加班没上进没前途,网友:惹不起
  4. tika设置文件长度限制_MySQLInnoDB某些你没注意过的限制
  5. python语言sort_Python里的sort语句
  6. canal本地运行异常:class com.alibaba.druid.pool.DruidDataSource cannot be cast to
  7. Linux7/Redhat7/Centos7 安装Oracle 12C_系统安装_01
  8. (需求实战_进阶_01)SSM集成RabbitMQ 关键代码讲解、开发、测试
  9. form表单提交,后台实体类接收转义问题 解决方案
  10. tomcat9 启动中提示 org.apache.catalina.webresources.Cache.getResource Unable to add t