大概看来几篇博客:
1、delete的可以通过回滚(rollback)的方式恢复;但是前提是,你的数据表引擎是InnoDB而不是MyISAM,而且操作不是自动提交的
但是这种方式不可以恢复truncate删除的数据
mysql> show variables like '%autocommit%' -> ; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | autocommit | ON | | wsrep_retry_autocommit | 1 | +------------------------+-------+ 2 rows in set (0.00 sec) mysql> set autocommit=False; Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%autocommit%' -> ; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | autocommit | OFF | | wsrep_retry_autocommit | 1 | +------------------------+-------+ 2 rows in set (0.00 sec) mysql>
mysql> show table status from test where name='user'; +------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+ | user | MyISAM | 10 | Dynamic | 5 | 20 | 144 | 281474976710655 | 3072 | 44 | 8 | 2017-01-11 18:03:54 | 2017-11-29 20:03:11 | NULL | utf8_general_ci | NULL | | | +------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+ 1 row in set (0.01 sec) mysql> mysql> show table status from test where name='tiger'; +-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | tiger | InnoDB | 10 | Compact | 3 | 5461 | 16384 | 0 | 0 | 0 | 14 | 2017-01-09 16:45:03 | NULL | NULL | latin1_swedish_ci | NULL | | | +-------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ 1 row in set (0.00 sec) mysql>
2、第二种方法就是利用mysql的bin-log进行恢复
3、第三种方法,看你的数据库有没有定期备份机制,使用备份进行恢复
记得要及时进行恢复操作,时间久了,bin-log和备份数据都会被删除的
参考:
1、http://blog.51cto.com/gfsunny/1573944
2、https://www.cnblogs.com/dplearning/p/6394527.html
3、http://blog.csdn.net/weiwangsisoftstone/article/details/68945420
4、http://blog.csdn.net/u013803262/article/details/73044482