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数据库之alter表的sql语句集合

mysql 没有varchar(max) 类型

mysql 查看及修改时区的方法

mysql怎么删除数据表?

php入门教程之使用mysqli操作数据库的方法(连接,查询,事务回滚等)

mysql如何查看用户权限

mysql选择合适的备份策略和备份工具

mysql8降级到mysql5的方法介绍

mysql下载和安装的步骤教程(详细)

mysql日志文件详解

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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