首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏烟草的香味

    MySQL 数据恢复

    MySQL 数据恢复 前言 前两天因为没注意的误操作, 直接把某个数据表清掉了, 心慌慌. 怪自己学艺不精, 当时整了一下午也没把数据找回来. 对于 MySQL 数据的备份, 主要有两种: 全量备份和增量备份. 全量备份: 将数据库中的所有数据全部进行备份. 相当于复制粘贴的步骤. 数据恢复 当需要恢复数据时, 如何根据这两个备份文件进行恢复呢? 打个比方, 当前时间是: 2020-9-4 23:00:00. 此时, 我做了清表的疯狂操作. 如何恢复数据? 1. 通过全量备份, 将数据恢复到今天凌晨的时刻 进入 MySQL命令行, 执行数据恢复文件: source /Users/hujing/dir/tmp/mysqldump_log/2020-09-04.sql 请注意, 这步操作会将今日生成的数据删除. 2.

    5.6K50发布于 2020-09-11
  • 来自专栏数据库干货铺

    MySQL数据恢复

    今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等 ://github.com/danfengcao/binlog2sql.git && cd binlog2sql pip install -r requirements.txt 2 MySQL环境准备 恢复数据 3.1 生成恢复SQL 因知道大概误删除的时间,因此通过解析对应时间的binlog恢复出指定库表的数据,生成的结果是用于恢复的sql python binlog2sql.py --flashback start-datetime='2020-09-18 16:29:08' --stop-datetime='2020-09-18 16:30:00' >/tmp/rec.sql 结果内容如下 3.2 恢复数据 | | 7 | vgcess | 29 | | 8 | hdgd | 0 | +----+--------+-------+ 8 rows in set (0.00 sec) 数据恢复

    1K10编辑于 2024-02-22
  • 来自专栏mysql-dba

    使用my2sql来恢复mysql数据

    my2sql 使用说明来源原作者:my2sql的GitHub地址:https://github.com/liuhr/my2sql go版MySQL binlog解析工具,通过解析MySQL binlog 用途 数据快速回滚(闪回) 主从切换后新master丢数据的修复 从binlog生成标准SQL,带来的衍生功能 生成DML统计信息,可以找到哪些表更新的比较频繁 IO高TPS高, 查出哪些表在频繁更新 找出某个时间点数据库是否有大事务或者长事务 主从延迟,分析主库执行的SQL语句 除了支持常规数据类型,对大部分工具不支持的数据类型做了支持,比如json、blob、text、emoji等数据类型sql生成 产品性能对比 binlog2sql当前是业界使用最广泛的MySQL回滚工具,下面对my2sql和binlog2sql做个性能对比。 ) 离线库上必须要创建需要恢复或者解析的库和表,不然解析会报错找不到表的错误 [root@localhost fileroolback]# cd ..

    2.2K41发布于 2021-05-20
  • 来自专栏吴伟祥

    mysql数据恢复

    其二:自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。     2.早9:00上班了,业务的需求会对数据库进行各种“增删改”操作~~~~~~~       @ 比如:创建一个学生表并插入、修改了数据等等:         CREATE TABLE IF NOT 就得从前文提到的 mysql-bin.000023 新日志做文章了......     6.从binlog日志恢复数据       恢复语法格式:       # mysqlbinlog mysql-bin 注:此pos结束点介于“导入实验数据”与更新“name='李四'”之间,这样可以恢复到更改“name='李四'”之前的“导入测试数据”         # /usr/local/mysql/bin/mysqlbinlog .000023 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop         c2.单独恢复 name='小二' 这步操作,可这样:

    3.5K30发布于 2018-12-24
  • 来自专栏DataOps

    MySQL误删恢复方法2

    实际工作中总会发生数据误删除的场景,在没有备份情况下,如何快速恢复误删数据就显得非常重要。 本文基于MySQL的binlog日志机制,当日志格式设置为“binlog_format=ROW”时,记录一步一步手动解析binlog、恢复误删数据的全过程,供大家参考使用。 `数据脱敏数据脱敏数据脱敏`SELECT @1=222248 , @2='数据脱敏数据脱敏' ,[此处省略第3个~第45个字段] @46='数据脱敏' , @47='订单' , @48='数据脱敏 `数据脱敏数据脱敏数据脱敏`SELECT @1=222248 , @2='数据脱敏数据脱敏' ,[此处省略第3个~第45个字段] @46='数据脱敏' , @47='订单' , @48='数据脱敏 ' ,[此处省略第6个~第45个字段] '数据脱敏' , '订单' , '陈鹏3' ;commit;十三、执行恢复数据经过审视、调整后,此时得到的结果,已经可以正常执行INSERT操作恢复数据了!

    1.7K20编辑于 2022-11-14
  • 来自专栏DBA 平台和工具

    MySQL离线ibd数据恢复工具 - ibd2sql

    遇到MySQL数据丢失的窘境?想象一下这个场景: MySQL没有备份 MySQL是单点部署 MySQL突然宕机无法启动面对业务数据恢复的压力,是不是感觉天要塌了?别急着递交辞呈! ibd2sql工具可能是您的救命稻草。这是一款能将离线ibd文件转换为SQL语句的神器,可以帮助恢复宝贵的数据。 让我们直接看看如何使用:安装wget https://github.com/ddcw/ibd2sql/archive/refs/heads/main.zipunzip main.zipcd ibd2sql-main2 使用python3 main.py /data/mysql/mysql8/data/test/t1.ibd --sql --ddl --complete-insert就是这么简单! 几行命令就能让您重拾希望,摆脱数据丢失的噩梦。注意:此工具仅支持MySQL 8.0版本。有了ibd2sql,就多了一张保命符。下次遇到类似情况,别忘了这个强大的工具。它可能会帮您化险为夷,保住饭碗!

    97900编辑于 2024-07-20
  • 来自专栏运维前线

    mysql 恢复单表数据

    https://blog.csdn.net/wh211212/article/details/80998349 mysql 恢复数据 table A 从全库备份中抽取出t表的表结构 sed d;q' DB.sql > A.sql (表结构) 从全库备份中抽取出t表的内容 grep 'INSERT INTO `A`' DB.sql > A.sql 到测试库上恢复 # 创建数据库 create database DB; source /tmp/A.sql; 恢复表结构 source /tmp/A.sql; 恢复数据 参考:https://www.jb51.net/article/98090

    3.3K20发布于 2019-05-26
  • 来自专栏Python

    mysql数据备份与恢复

    MySQL数据备份与恢复 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. >D:\\all.sql #将root用户的所有数据库全部备份到D盘中,文件名为all.sql 二、恢复逻辑备份 #恢复多个库:(直接指定用户,不需要指定数据库名) # mysql -uroot - 数据库备份/恢复实验一:数据库损坏 备份: 1. # mysqldump -uroot -p123 --all-databases > /backup/`date +%F`_all.sql 2. # -13_all.sql //恢复最近一次完全备份 mysql> source /tmp/1.log //恢复最后个binlog文件 mysql> source /tmp/2.log //恢复最后个binlog 完全恢复到一个干净的环境(例如新的数据库或删除原有的数据库) 2. 恢复期间所有SQL语句不应该记录到binlog中 四、实现自动化备份 备份计划: 1. 什么时间 2:00 2.

    3.7K62发布于 2018-01-24
  • 来自专栏大道七哥

    使用binlog2sql针对mysql进行数据恢复

    MySQL闪回原理与实战 DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。 也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。 MySQL闪回(flashback)利用binlog直接进行回滚,能快速恢复且不用停机。 开胃菜 某天,小明因种种原因,误删了大批线上用户表的数据。他急忙找到公司DBA请求帮助,“客服电话已被打爆,大量用户投诉无法登陆,领导非常恼火。请问多久能恢复数据?” Empty set (0.00 sec) 恢复数据步骤: 登录mysql,查看目前的binlog文件 mysql> show master status; +------------------+ 登录mysql确认,数据回滚成功。

    1.1K40发布于 2019-09-10
  • 来自专栏Linux 成长之路

    MySQL数据备份与恢复

    1、查看帮助及初始化: C:\Users\zhang>mysqldump --help root@ubuntu:~#mysql_secure_installation 2、单个数据库 [表] 备份: mysqldump >D:\mysql.sql 3、多个数据库备份: mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] mysqldump -u用户名 -p --databases 库1 库2... >文件名.sql C:\Users\zhang>mysqldump -uroot -p --databases mysql sys >D:\my.sql 4、备份所有数据库: mysqldump [OPTIONS 命令,用use进入到某个数据库,mysql>source D:\sys.sql,后面的参数为脚本文件 7、数据库常用命令 查看表结构:desc 表名; 显示当前用户:select user(); 显示当前时间

    2.3K10发布于 2019-07-26
  • 来自专栏Linux云运维

    MySQL数据备份与恢复

    MySQL数据备份与恢复 1、数据备份概述 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。 数据丢失的场景举例: 人为操作失误造成某些数据被误操作 软件 BUG 造成部分数据或全部数据丢失 硬件故障造成数据库部分数据或全部数据丢失 安全漏洞被入侵数据恶意破坏 1.1 衡量备份恢复重要指标 衡量备份恢复有两个重要的指标 : 恢复点目标(RPO) 恢复点目标是指数据恢复到什么程度 恢复时间目标(RTO) 恢复时间目标是指数据恢复需要多长时间 1.2 数据库备份分类 数据库备份方式分很多种,从物理与逻辑的角度来看 数据恢复 系统行命令 mysql [选项] 数据库名 [表名] > 备份文件名 source 方法 source 备份文件名 3、mysql全量备份与恢复实例演示 3.1 mysql全量备份 #备份整个数据库 差异备份数据恢复 #模拟误删数据 [root@localhost ~]# mysql -uroot -pPasswd123!

    3.9K31编辑于 2023-03-17
  • 来自专栏Angular&服务

    恢复mysql数据

    1.启动mysqlmysql/etc/my.cnf里面配置日志信息 log_bin=mysql-bin server-id=123454333 然后重新启动mysql 2.查看是否日志列表 show 查看日志列表 show binlog events in 'mysql-bin.000002' 查看指定文件 ? 查看指定文件 mysqlbinlog mysql-bin.0000xx | mysql -u用户名 -p密码 数据库名 3.恢复数据 mysqlbinlog "D:\programs\mysql5.7.64 \data\mysql-bin.000339" | mysql -uroot -p store mysqlbinlog mysql-bin.0000xx | mysql -u用户名 -p密码 数据库名 恢复数据报错 ---- 未完待续。。。。。

    7.9K30发布于 2018-08-20
  • 来自专栏Node开发

    Mysql备份与恢复(2)---逻辑备份

    上一篇针对使用xtrabackup工具进行物理备份和数据恢复做了一个详细讲解,本篇主要谈谈如何使用mysql自带的备份工具mysqldump进行逻辑备份和数据恢复数据恢复 表级恢复 (1) 登录mysql,选择对应的数据库,然后设置编码。 (2) 使用source命令导入备份数据。 source /usr/local/all.sql 单库恢复 (1) 登录Mysql,删除要恢复的旧数据库。 (2) 使用source命令导入备份数据。 所以恢复数据时,我们需要分成两部分去进行恢复数据: 先恢复全量备份的数据mysql < /usr/local/all1.sql -p 然后输入密码确认恢复数据。 然后恢复增量备份: mysqlbinlog /var/lib/mysql/mysql-bin.000003 | mysql -p 这样就可以将数据恢复恢复点时的数据

    2.7K21发布于 2019-10-16
  • 来自专栏小手冰凉

    MySQL数据备份及恢复

    一、binlog日志恢复 MySQL的二进制日志记录着该数据库所有增删改的操作日志(前提是需要自己开启binlog),还包括了这些操作的执行时间,binlog的使用场景无外乎就是主从同步以及恢复数据库。 7、通过二进制日志恢复数据 假设在开始删除lisi记录的那条sql语句是误操作,现在要通过二进制日志来恢复数据2)事件恢复流程:直接用bin-log日志将数据恢复到删除位置219前,然后跳过故障点,再进行恢复下面所有的操作,具体恢复流程如下: 导出相关binlog文件(将二进制文件转换为sql语句生成新的文件 3)删除数据mysql> drop database test1; 4)利用binlog恢复数据 [root@mysql data]# mysql -uroot -p123 < /tmp/01.sql #备份mysql库中的user表 [root@mysql backup]# ls mysql-user.sql 2恢复mysql数据库中的user表 [root@mysql backup]# mysql

    1.2K40发布于 2020-06-10
  • 来自专栏Howl同学的学习笔记

    MySQL数据备份与恢复

    SQL 语句),然后交给 mysql 执行可恢复数据 $mysqlbinlog [option] log_file --start-position:指定某个偏移量来恢复 --stop-positon 冷备 Innodb 冷备是最简单的,通常只需写个脚本来复制 MySQL 的文件,然后将这些文件放到对应数据库的目录下即可实现数据恢复: .frm结构文件 .idb独立表空间文件 redo重做日志文件 共享表空间文件 查看mysql数据存放的目录 # /var/lib/mysql/data $show variables like "%datadir%" # 2. 恢复只需将上面的包解压到对应数据库的数据存放目录下 # 2. 恢复前将原数据备份一下 # 3. /mysqlBackup/ # 2.

    10.4K30发布于 2021-10-29
  • 来自专栏MySQL 笔记

    MySQL 数据备份&恢复(mysqldump 工具)

    > E:\dbname.sql #导出多个数据库 mysqldump -uroot -p -B db1 db2 > E:\dbname.sql #导出所有数据库 mysqldump -uroot mysqldump 工具导出的数据文件其实是一种SQL脚本,导出后可以方便快速地恢复数据库中 3.导出数据内容到Excel文件 # -e 参数,执行SQL语句,返回结果重定向到Excel文件中 mysql -uroot -p123456 -e "select * from mysql.user" > E:\user.xlsx ---- 二、数据恢复 方法1. cmd命令 #导入单个库或数据表,前提是库已存在 mysql -uroot -p123456 db_name < table_name.sql #导入整个数据mysql -uroot -p123456 < db_name.sql 方法2. SQL命令 #选择数据mysql>use test; #导入所有数据 mysql>source E:/dbname.sql;

    3.4K20发布于 2020-04-15
  • 来自专栏入门小站

    Mysql通过binlog恢复数据

    ,name varchar(30)); insert into rumenz(id,name) values(1,'qaz'); insert into rumenz(id,name) values(2, -bin.000008'; image-20210615225134682 在3927位置,rumenz表被删除,所以我们找到了恢复数据的结束点 恢复数据 查看前面用到的所有日志文件 > shwo ---+-----------+ 8 rows in set (0.00 sec) 恢复数据 常用选项: --start-position=953 起始pos点 - demo数据库(一台主机上往往有多个数据库,只限本地log日志) > mysqlbinlog --stop-position=3927 mysql3306-bin.000001 mysql3306 -bin.000007 mysql3306-bin.000007 | mysql -uroot -p123456 如果有多个binlog日志文件,需要全部指定上去 如果只恢复指定数据库,如demo数据

    1K10编辑于 2022-06-02
  • 来自专栏院长运维开发

    MySQL和Mariadb数据备份恢复

    root -p --all-databases > /backup/databasefile/yzdb.sql Enter password: 备份单个库: 库名 备份单个库 备份多个库: -B 库1 库2 库3 备份多个库 备份单个表: 表名 备份单个库 备份多个表: 表名 表1 表2 表3 备份指定库的多张表 恢复命令格式 mysql -uroot -p 目标库名 < stu.sql 从所有库备份中恢复某一个库 (--one-database) mysql -uroot -p --one-database 目标库名 < all.sql

    3.4K10发布于 2020-11-04
  • 来自专栏开源部署

    MySQL 启动失败数据恢复案例

    Forcing InnoDB Recovery提供了6个等级的修复模式,需要注意的是值大于3的时候,会对数据文件造成永久的破坏,不可恢复。 在我这里,mysql在值为2时可以启动,这是stop掉数据库,然后备份数据 sudo service mysql stop mysqldump -u root -p --all-databases > ibdata1.bak 启动mysql,然后从备份文件恢复数据 sudo service mysql start mysql -u root -p < all-databases.sql 因为在修复模式下 所以就关闭掉了修复模式 [mysqld] innodb_force_recovery = 0 restart mysql后,再次恢复数据 sudo service mysql restart mysql -u root -p < all-databases.sql 再次重启下mysql,现在mysql可以正常启动了,并且数据恢复成功。

    2.9K10编辑于 2022-08-16
  • 来自专栏互联网-小阿宇

    MySQL dump恢复数据加快

    平常需要恢复数据的时候会发现大点儿的文件都要几个小时 实在是太慢了 我们可以通过修改MySQL的参数来提高数据恢复速度 查看现在参数情况 #先查看现在参数情况 mysql> show variables -------------+-------+ | sync_binlog | 0 | +---------------+-------+ 1 row in set (0.00 sec) mysql set (0.00 sec) 修改参数 #临时修改 set global sync_binlog = 2000; set global innodb_flush_log_at_trx_commit = 2; MySQL dump恢复数据 方法一: 在linux命令行使用MySQL dump命令进行恢复 mysqldump -uroot -pxxxxx database < database.sql 方法二: 在MySQL命令行进行恢复 mysql> source /root/databse.sql; 恢复数据 数据导入完毕,你会发现导入的速度大大提高 进行恢复参数设置 set global sync_binlog

    1.4K20编辑于 2022-11-21
领券