加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_梅州站长网 (https://www.0753zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql删除表数据如何恢复

发布时间:2022-12-15 11:07:10 所属栏目:MySql教程 来源:
导读:  目录实验模拟

  该实验必须是mysql开启了binlog的情况。

  binlog日志如何删除数据,即binary log,是二进制日志文件。它有两个作用,

  我们可以通过binlog日志恢复数据

  查看mysql是
  目录实验模拟
 
  该实验必须是mysql开启了binlog的情况。
 
  binlog日志如何删除数据,即binary log,是二进制日志文件。它有两个作用,
 
  我们可以通过binlog日志恢复数据
 
  查看mysql是否开启binlog语句
 
  mysql> show variables like 'log_bin';
  +---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | log_bin ? ? ? | OFF ? |
  +---------------+-------+
  1 row in set (0.01 sec)
  如果是OFF,则说明没有开启binlog。可以使用如下方法开启binlog
 
  编辑/etc/my.cnf文件,在文件后面增加如下两行代码即可
 
  server-id=1
  log-bin=/var/lib/mysql/mysql-bin
  server-id表示单个结点的id,这里由于只有一个结点,所以可以把id随机指定为一个数,这里将id设置成1。若集群中有多个结点,则id不能相同
 
  第二句是指定binlog日志文件的名字为mysql-bin,以及其存储路径
 
  重启让配置生效。
 
  [root@localhost ~]# systemctl stop mysqld.service
  [root@localhost ~]# systemctl start mysqld.service
  mysql> show variables like 'log_bin';
 
  +---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | log_bin ? ? ? | ON ? ?|
  +---------------+-------+
  1 row in set (0.01 sec)
  创建数据库,即相关表
 
  CREATE DATABASE `hbk` ?DEFAULT CHARACTER SET utf8 ;
  use hbk;
  CREATE TABLE `t_delete_test` (
  ? `id` int(11) NOT NULL,
  ? `name` varchar(30) DEFAULT NULL,
  ? PRIMARY KEY (`id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8
  插入相关测试数据,在这里,我使用客户端工具插入的,也可以使用手工执行insert into语句。
 
  oracle恢复删除的数据_如何删除数据_pe下删除还原数据
 
  模拟数据库误删除操作,把id从1-4的数据不小心删除,只留唐僧师徒4人,然后如何恢复所有数据。
 
  mysql> delete from t_delete_test where id<=4;
  Query OK, 4 rows affected (0.01 sec)
  mysql> commit;
  Query OK, 0 rows affected (0.00 sec)
  如何删除数据_oracle恢复删除的数据_pe下删除还原数据
 
  恢复实战
 
  由于在/etc/my.cnf配置了binlog,这个日志会存储插入,删除,修改的日志信息
 
  如何删除数据_oracle恢复删除的数据_pe下删除还原数据
 
  mysql > show binlog events in 'mysql-bin.000001'\G
  pe下删除还原数据_oracle恢复删除的数据_如何删除数据
 
  如何删除数据_pe下删除还原数据_oracle恢复删除的数据
 
  在3101的时刻进行了delete操作,从704建表之后的操作开始恢复
 
  [root@localhost mysql]# /usr/bin/mysqlbinlog ?/var/lib/mysql/mysql-bin.000001 --start-position=704 --stop-position=3101 |mysql -uroot -p hbk?
  执行之后,成功恢复了之前删除的数据。
 
  如何删除数据_pe下删除还原数据_oracle恢复删除的数据
 
  常用参数选项解释不常用选项
 
  a)查询第一个(最早)的binlog日志:
 
  mysql> show binlog events\G;
  b)指定查询 mysql-bin.000002这个文件:
 
  mysql> show binlog events in 'mysql-bin.000002'\G;
  c)指定查询 mysql-bin.000002这个文件,从pos点:624开始查起:
 
  mysql> show binlog events in 'mysql-bin.000002' from 624\G;
  d)指定查询 mysql-bin.000002这个文件,从pos点:624开始查起,查询10条(即10条语句)
 
  mysql> show binlog events in 'mysql-bin.000002' from 624 limit 10\G;
  e)指定查询 mysql-bin.000002这个文件,从pos点:624开始查起,偏移2行(即中间跳过2个),查询10条
 
  mysql> show binlog events in 'mysql-bin.000002' from 624 limit 2,10\G;
  以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
 

(编辑:云计算网_梅州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!