首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏后台技术杂项笔记

    mysql误操作binlog恢复

    mysql误操作binlog恢复步骤 记录具体步骤,方便日后回忆 一般正式环境使用数据库都会做全备份,但如果某个时刻数据库崩了,若利用全备份文件恢复,则在全备份到出现问题这段时间内的数据将会丢失,一般来说迫不得已也不会采取这种措施 Experimental: false containerd: Version: v1.5.9 GitCommit: 1407cab509ff0d96baa4f0eb6ff9980270e6e620 | ON | +---------------------------------+-----------------------------+ 6 =/var/lib/mysql/binlog.index 2. include-gtids, respectively, instead. root@f5f55acbb59a:/home# ls 000048bin.sql binlog.000048 这里-d用来指定误操作的数据库

    1.1K20编辑于 2022-09-26
  • 来自专栏python3

    使用python脚本实现mysql误操作

    1.简介 在oracle数据库中,当一个误操作被提交后,我们可以通过oracle提供的闪回功能将表闪回至误操作之前的状态。 mysql中没有原生的flushback功能,DBA误操作时,传统的恢复方式是利用全备+二进制日志前滚进行恢复。 的只读用户,主要是为了获取表结构 6、如果binlog过大,建议带上时间范围,也可以指定只恢复某个库的SQL 7、SQL生成后,请务必在测试环境上测试恢复后再应用到线上 4.实战 step1.登陆mysql france | paris | +------+-------+------+---------+----------+ 3 rows in set (0.00 sec) step2.模拟误操作 -rw-r--r-- 1 root root 12222 Apr 13 2017 mysql_rollback.py 根据关键词europe查找binlog中的误操作sql,并输出europe

    88520发布于 2020-01-07
  • 来自专栏素履coder

    真·MySQL误操作差点删库跑路

    然后编写脚本,根据id一一对应的把state字段的数据修改过来,故障期间造成了一些数据的丢失,不过好在不多,只能根据他们的反馈然后把数据补上 最后,经过分析可以知道,开头提到的写法本身就是错误的,但是mysql

    81530编辑于 2022-11-12
  • 来自专栏爱可生开源社区

    DML 误操作MySQL 闪回工具大盘点

    ---- 操作数据库时,如果不慎执行了 DML 误操作,闪回工具可以回滚这类 DML 误操作。 闪回之前 在使用闪回工具之前,需要明确几个小问题: 哪些 SQL 类型可以使用闪回工具? rollback.6.sql:回滚 SQL 文件 biglong_trx.txt:大事务信息 binlog_status.txt:DML 的统计信息 验证与误删除数据量是否相等。导入验证结果一致。 cat rollback.6.sql |grep "INSERT INTO"|wc -l 499 重定向方式 < 导入,会记录到 binlog 并增加事务号。 forward.6.sql:原始 SQL 文件(原始误操作语句) biglong_trx.txt:大事务信息 binlog_status.txt:DML 的统计信息 查看生成的 biglong_trx.txt 使用闪回工具只是一种补救措施,安全运维应该在预防误操作上有哪些安排呢? 一个让运维人员睡的安心的数据保障系统(MySQL 版)。 预防,为了减少数据误删除发生的概率,通过交付基线避免。

    55410编辑于 2025-04-09
  • 来自专栏业余草

    手把手教你MySQL误操作”回魂术

    误操作数据库的事情,估计不少开发人员都可能会遇到。毕竟常在河边走,哪有不湿鞋的呢? ? 今天,我给大家讲一下 MySQL 中的“误操作”回魂术。 用它来解决数据库的误操作问题,将大大缩短我们恢复数据的时间和难度。 网上关于 Flashback 的工具其实比较多。 当我们误操作插入了不想要的数据后,可以执行下面的命令,就可以把插入的数据给干掉了。 ? 其他的删除,更新操作都一样。 不要小看 binlog,它可是 MySQL 高可用和可靠性的基石。其实,MySQL 有很多功能都是落后的,这也正是 mariadb 等数据库崛起的原因。可以想象,AI 数据库绝对是未来的一个趋势!

    94020发布于 2019-06-22
  • 来自专栏linda

    MySQLMysql误操作后使用binlog2sql快速回滚

    ,\"2104\":1,\"2105\":1}', 1490239125, 19, '', 1481610680, 0, 1490239125, 0, 'zf', 'da75b093-bd22-48f6- 5.2.1.14', 3, '', 1488787835, 18, '39.978212', 1481610517, 0, 1488787835, 0, '陈俊宇', 'ed0a273d-74de-4173-92c6- = 1 log_bin = /data/mysql/mysql-bin.log max_binlog_size = 1G binlog_format = row binlog_row_image = 作为实时解析 MySQL binlog 来获取各个 EVENT。 python-mysql-replication 实现了 MySQL 复制协议,客户端伪装成 slave 来获取主的 binlog 和 EVENT。

    1.9K31发布于 2019-06-02
  • 来自专栏开源部署

    使用Python脚本实现MySQL误操作的快速回滚

    1.简介 在Oracle数据库中,当一个误操作被提交后,我们可以通过Oracle提供的闪回功能将表闪回至误操作之前的状态。 mysql中没有原生的flushback功能,DBA误操作时,传统的恢复方式是利用全备+二进制日志前滚进行恢复。 的只读用户,主要是为了获取表结构 6、如果binlog过大,建议带上时间范围,也可以指定只恢复某个库的SQL 7、SQL生成后,请务必在测试环境上测试恢复后再应用到线上 4.实战 step1.登陆mysql france  | paris    | +------+-------+------+---------+----------+ 3 rows in set (0.00 sec) step2.模拟误操作 -rw-r--r-- 1 root  root    12222 Apr 13  2017 mysql_rollback.py 根据关键词europe查找binlog中的误操作sql,并输出europe

    1.2K20编辑于 2022-08-16
  • 来自专栏SEian.G学习记录

    MySQL利用binlog恢复误操作数据(Python脚本)

    在线上或者测试环境误操作导致数据被删除或者更新后,想要恢复,一般有两种方法。 方法一、利用最近的全量备份+增量binlog备份,恢复到误操作之前的状态,但是随着数据量的增大,binlog的增多,恢复起来很费时。 (insert/update/delete)的rollback语句 3、最终生成的SQL是逆序的,所以最新的DML会生成在输入文件的最前面,并且带上了时间戳和偏移点,方便查找目标 4、需要提供一个连接MySQL /mysql_3306/log/mysql3306.000006 /*! /mysql_3306/log/mysql3306.000006 -o /tmp/rollback.sql -h 118.89.107.162 -u root -P 3306 -p qcloud@2018

    1.4K30发布于 2021-03-03
  • 来自专栏冰河技术

    MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

    写在前面 今天,一位哥们打电话来问我说误操作了他们公司数据库中的数据,如何恢复。他原本的想法是登录数据库update一个记录,结果忘了加where条件,于是悲剧发生了。 今天,我们不讲如何恢复误操作的数据(后面专门讲如何恢复误删除的数据),我们讲讲如何从源头上避免这样的问题,这才是避免类似问题的根本措施。 那么,我们基于MySQL提供的这项设置,就可以轻松实现如何最大程度防止人为误操作MySQL数据库了。什么?你不信? 不信我们就从MySQL的帮助说明说起,一起来看看如何基于MySQL的-u选项实现如何最大程度防止人为误操作MySQL数据库。 指定别名 我们可以将操作MySQL的命令做成别名,防止他人和DBA误操作数据库,将操作MySQL的命令做成别名也非常简单,这里,我们直接上示例了,如下所示。

    97320发布于 2020-10-29
  • 来自专栏idba

    恢复误操作的方法

    一 前言 前一段时间接二连三的出现开发人员在测试环境和生产误操作导致数据库误删除/更新,对DBA而言,回滚数据着实是一件头疼的事情,凡涉及到恢复线上数据必然对应用带来一定的影响。 大多数情况是开发误操作delete数据,update多数行,根据之前的操作经验,本文介绍常用的恢复方法。 二 常用的恢复方式 2.1 利用备份恢复 使用这种方式的前提必须有最近的备份集或者知道出现误操作起始的binlog 位点或者GTID,利用备份集恢复到中间的机器上,然后利用MySQL的slave 特性 update flashback set stat=15 恢复数据的步骤 1 获取误操作的dml所在的binlog,不过一般开发可不知道具体binlog,他们只知道什么时间误操作了,binlog2sql | | 4 | 7 | | 5 | 9 | | 6 | 22 | | 7 | 42 | | 8 | 33 | | 9 | 66 | | 10 | 88 | +----+------+ 10 rows

    1K30发布于 2018-08-09
  • 来自专栏Java学习网

    mysql误操作删除数据后数据恢复--Java学习网

    关于误操作删除数据和数据恢复,一定要有安全意识,MySQL数据的找回,一定要在配置bin-log,否则数据丢失将无法恢复: 在MySQL的my.ini(或my.cnf,视操作系统不同而不同)添加: [mysqld] log-bin=binlog(名字随便取) 然后需要重启MySQL服务才能生效 可以通过命令“show binlog events;”查看配置是否成功 通过mysqlbinlog 恢复MySQL数据的两种方法: (1)时间date 通过cmd运行到binlog所在的目录,再录入: mysqlbinlog –stop-date=”2011-02-27 12:12:59″ jbms_binlog .000001 | mysql -uroot -proot (回车) 恢复到2011-02-27 12:12:59之前的数据,如果是start-date,即从该时间点后的开始算起 (2)位置position 查看生成的txt文件,获取编辑位置和时间等数据,然后通过命令: mysqlbinlog –stop-position=”98″ jbms_binlog.000002 | mysql -uroot -proot

    1.2K30发布于 2021-07-09
  • 来自专栏技术杂记

    Mysql 监控6

    配置密码 ss_get_mysql_stats.php.cnf安装依赖包 php php-mysql给 zabbix 赋权从 zabbix-server 进行连接测试添加模板----命令汇总mysql /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh /get_mysql_stats_wrapper.shsudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh /home/zabbix/vim .my.cnfzabbix_get -s mysql-server -p 10050 -k "MySQL.running-slave"zabbix_get -s mysql-server -p 10050 -k "MySQL.Threads-connected"zabbix_get -s mysql-server -p 10050 -k "MySQL.max-connections"-

    1.1K30编辑于 2022-06-30
  • 来自专栏技术杂记

    mysql 迁移6

    myisam_recover_options [testuser@slave01 etc]$ innodb_additional_mem_pool_size 也已经被弃用了,如果有要注释掉 ---- 将zabbit加入mysql 组以方便监控 [root@new-master mysql]# vim /etc/group [root@new-master mysql]# id zabbix uid=496(zabbix) gid =493(zabbix) groups=493(zabbix),492(mysql) [root@new-master mysql]# /etc/init.d/zabbix-agent restart ]# ---------- [root@zabbix-server ~]# zabbix_get -s new-master -p 10050 -k "mysql.slowlog[100,/var/lib /mysql/new-master-slow.log]" 2.98465 [root@zabbix-server ~]#

    1.6K50编辑于 2022-03-22
  • 来自专栏技术杂记

    mysql 迁移6

    myisam_recover_options [testuser@slave01 etc]$ innodb_additional_mem_pool_size 也已经被弃用了,如果有要注释掉 ---- 将zabbit加入mysql 组以方便监控 [root@new-master mysql]# vim /etc/group [root@new-master mysql]# id zabbix uid=496(zabbix) gid =493(zabbix) groups=493(zabbix),492(mysql) [root@new-master mysql]# /etc/init.d/zabbix-agent restart ]# ---------- [root@zabbix-server ~]# zabbix_get -s new-master -p 10050 -k "mysql.slowlog[100,/var/lib /mysql/new-master-slow.log]" 2.98465 [root@zabbix-server ~]#

    1.9K20编辑于 2022-03-21
  • 来自专栏小麦苗的DB宝专栏

    【DB宝43】MySQL误操作闪回恢复利器之my2sql

    误操作闪回的工具包括my2sql、binlog2sql和MyFlash等工具,其中,个人感觉my2sql最好用。 Creating table 'sbtest6'... Creating table 'sbtest9'... Creating a secondary index on 'sbtest6'... Creating a secondary index on 'sbtest1'... .000005 2021-02-26_12:33:44 2021-02-26_12:33:44 9360765 9879207 2716 0 [lhrdb.sbtest6( .000005 2021-02-26_12:33:46 2021-02-26_12:33:46 12990656 13509098 2716 0 [lhrdb.sbtest6(

    2.7K20发布于 2021-03-25
  • 来自专栏DBA 平台和工具

    MySQL 数据安全:利用 sql_safe_updates 与 init_connect 防范误操作

    MySQL 提供的 sql_safe_updates(安全更新模式) 正是为了防止因误操作而引发的灾难性数据更改。 启用该模式后,如果执行的 UPDATE 或 DELETE 语句缺少 WHERE 条件或没有使用索引限制,MySQL 将拒绝执行操作,从而有效避免全表更新或删除的风险。 为了方便管理,不希望每次登录都手动设置,你可以利用 MySQL 的 init_connect 变量,让非超级用户在登录时自动执行安全设置。 这是因为 sql_safe_updates(安全更新模式)已开启,MySQL 会限制执行可能影响大量数据的 UPDATE 或 DELETE 语句,防止误操作导致全表数据被意外修改或删除。 注意:拥有 SUPER 权限的用户(如 root 或其他管理员账户)登录时将不会执行 init_connect 语句,因为 MySQL 默认认为超级用户具备足够的权限去控制会话。

    46210编辑于 2025-02-10
  • 来自专栏Eric杂货铺

    Chmod -R 777 误操作恢复教程

    之前做过一个很傻的事情,输入chmod -R 777 / 输入快了,后面没有跟目录直接回车了。所有目录的权限都凌乱了,这里写一份恢复sshd登录的教程以及恢复系统文件的教程。最好恢复sshd之后,把数据拿出来,重新部署应用环境吧,以防以后位置的bug和风险。

    3K41发布于 2020-09-24
  • 来自专栏小麦苗的DB宝专栏

    【DB宝43】MySQL误操作闪回恢复利器之my2sql

    About Me toc 一、my2sql简介 可以用于MySQL误操作闪回的工具包括my2sql、binlog2sql和MyFlash等工具,其中,个人感觉my2sql最好用。 Creating table 'sbtest6'... Creating table 'sbtest9'... Creating a secondary index on 'sbtest6'... Creating a secondary index on 'sbtest1'... .000005 2021-02-26_12:33:44 2021-02-26_12:33:44 9360765 9879207 2716 0 [lhrdb.sbtest6( .000005 2021-02-26_12:33:46 2021-02-26_12:33:46 12990656 13509098 2716 0 [lhrdb.sbtest6(

    1.6K40发布于 2021-03-15
  • 来自专栏腾讯云数据库(TencentDB)

    TDSQL-C MySQL 版数据高可用升级:从误操作到精准恢复的范式革新

    企业数字化浪潮下,数据库作为核心数据资产的载体,正遭遇硬件故障、逻辑错误、人为误操作等多重威胁。这些风险不仅可能导致金融交易系统瘫痪,扰乱电商订单流程,更会危及医疗数据的完整与机密。 2017年某大厂工程师误操作致使100万用户数据丢失。 2015年某旅行网数据库被物理删除后每小时损失超百万美元。 AS OF TIMESTAMP语句,可在秒级完成数据克隆,将误操作修复时间从小时级缩短至分钟级。 TDSQL-C MySQL 版凭借秒级快照备份能力,彻底解决数据备份耗时问题,打破发版流程的“木桶效应”。 立即体验TDSQL-C MySQL 版,开启数据安全防护新范式,将数据危机转化为业务持续领先的发展契机。

    31800编辑于 2025-07-03
  • 来自专栏用户8644135的专栏

    误操作YUM导致error,rpmdb解决方法

    1、由于搭建Kubernetes集群,误操作导致执行yum出现Error: rpmdb open failed错误,如下图 根据提示我们可以知道rpm数据库在yum安装过程中使用导致RPM数据库损坏了

    59620发布于 2021-07-08
领券