mysql如何找回误删除数据


本文摘自PHP中文网,作者coldplay.xixi,侵删。

mysql找回误删除数据的方法:首先找到binlog中错误的语句;然后恢复binlog日志;最后恢复到数据库,代码为【# mysql -uroot -p -f ids < data.sql】。

mysql找回误删除数据的方法:

1、找到binlog

恢复数据的前提是必须开启Mysql的binlog日志,如果binlog日志没开启,请忽略此篇文档。binlog日志是否开启可以查看Mysql配置文件。日志位置一般在/var/lib/mysql目录或者编译安装的date目录下。也可登录Mysql用命令查看。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# cat /etc/my.cnf

log_bin=mysql-bin

# mysql -uroot -p

Enter password:

mysql> show variables like'log_bin%';

+---------------------------------+--------------------------------------------------+

| Variable_name                   | Value                                            |

+---------------------------------+--------------------------------------------------+

| log_bin                         | ON                                               |

| log_bin_basename                | /home/programs/mysql-5.6.26/data/mysql-bin       |

| log_bin_index                   | /home/programs/mysql-5.6.26/data/mysql-bin.index |

| log_bin_trust_function_creators | OFF                                              |

| log_bin_use_v1_row_events       | OFF                                              |

+---------------------------------+--------------------------------------------------+

5 rows in set (0.00 sec)

# ll /home/programs/mysql-5.6.26/data/mysql-bin*

-rw-rw---- 1 mysql mysql 343629748 Oct 13 22:09 /home/programs/mysql-5.6.26/data/mysql-bin.000001

-rw-rw---- 1 mysql mysql        19 Sep 23 17:11 /home/programs/mysql-5.6.26/data/mysql-bin.index

如果有多个binlog日志也可以在Mysql命令行下查看当前binlog、切割binlog日志。切割完成binlog再次查看就会看到新的日志写入到新的binlog文件中。

1

2

3

4

5

6

7

8

9

mysql> show master status;

+------------------+-----------+--------------+------------------+-------------------+

| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+-----------+--------------+------------------+-------------------+

| mysql-bin.000001 | 343629748 |              |                  |                   |

+------------------+-----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

mysql> flush logs;

Query OK, 0 rows affected (0.01 sec)

2、找到binlog中错误的语句

阅读剩余部分

相关阅读 >>

mysql基础教程mysql5.7.18安装和连接

mysql数据库服务器安装与配置教程

mysql大小写问题及解决方案

mysql免安装版(zip)安装配置详细教程

mysql 如何开启慢查询?浅谈慢查询日志的原理

如何解决mysql报错“#1067 invalid default value”

ddl语句的实例详解

怎么在mac上装mysql

mysql存储过程和函数的操作(十二)

删除mysql用户组的命令是什么?

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...