数码资讯
检索数据删除表的MySQL方法(参见)
有备份是很简单的。它只需要生成一个新的备份数据,然后使用mysqlbinlog检索数据备份时间点后,再恢复到现有的网络。 如果没有备份,可能会更麻烦,检索数据的成本也很高。 以下是备份时间点检索后发现mysqlbinlog的数据的方法。 做一个简单的实验,删除MySQL数据,然后使用mysqlbin
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
有备份是很简单的。它只需要生成一个新的备份数据,然后使用mysqlbinlog检索数据备份时间点后,再恢复到现有的网络。
如果没有备份,可能会更麻烦,检索数据的成本也很高。
以下是备份时间点检索后发现mysqlbinlog的数据的方法。
做一个简单的实验,删除MySQL数据,然后使用mysqlbinlog找回你刚删除的数据。
应用程序的创建时间和数据表的插入:2013-02-04 10
原理:mysqlbinlog
前提:MySQL打开bin日志记录
在删除测试之前:
显示表;
----------------------- + +
| tables_in_report_sina |
----------------------- + +
| APP |
|测试|
----------------------- + +
选择现在();
--------------------- + +
|(现在)|
--------------------- + +
2013-02-04 11:45:44 | |
--------------------- + +
1行集(0.01秒)
从应用程序中选择计数(1);
---------- + +
|计数(1)|
---------- + +
10 | |
---------- + +
1行集(0.01秒)
开始删除数据:
从应用程序中删除id = 1;
查询OK,1行受影响(0秒)
MySQL >
从应用程序中删除id<6;
查询OK,4行受影响(0.01秒)
从应用程序中选择计数(1);
---------- + +
|计数(1)|
---------- + +
5 | |
---------- + +
1行集(0秒)
选择现在();
--------------------- + +
|(现在)|
--------------------- + +
2013-02-04 12:08:45 | |
--------------------- + +
开始检索数据:
1。找到bin日志的位置:
- RW光碟---- 1 mysql 17k 2月4日alert.log 11:43
- RW光碟---- 1 mysql 1.0k 11月1日master-bin.000001 14:52
- RW光碟---- 1 mysql 126 12月25日14:00 master-bin.000002
- RW光碟---- 1 mysql 126 12月25日14:02 master-bin.000003
- RW光碟---- 1 mysql 126 12月25日14:02 master-bin.000004
- RW光碟---- 1 mysql 107 12月25日14:02 master-bin.000005
- RW光碟---- 1 mysql 13k 2月4日master-bin.000006 12:02
你可以看到最近修改的二进制日志只有master-bin.000006
(如果删除了一些bin日志以返回数据,则必须一个接一个地找到bin日志)。
将执行一段时间的所有SQL语句保存到要还原的SQL文件中。
mysqlbinlog --开始日期= '2013-02-04 10 --停止日期= '2013-02-04 12:08:45 ' / / / MySQL应用程序日志 / / / master-bin.000006 >应用MySQL / mysql_restore_20130204.sql。
当然,在目前的网络环境下,这个时候可能不会那么准确,而且还有其他事务SQL语句的干扰。
创建临时数据库
创建数据库for_bak;
当前数据库在表应用程序中被删除
就欧盟my_db APP中- > /应用/ MySQL / app.sql
将当前数据导入临时表:
MySQL根欧盟for_bak < / / / app.sql MySQL的应用程序
让我们看看 / / / mysql_restore_20130204.sql应用MySQL的部分看:(你可以看到邪恶的删除语句)
设置*时间戳= 1359949544 *;
开始
**;
# 12878
# 130204 11:45:44服务器ID 1 end_log_pos 12975查询thread_id = 5 = 974 = 0 error_code exec_time
设置*时间戳= 1359949544 *;
从应用程序中删除id = 1
**;
# 12975
# 130204 11:45:44服务器ID 1 end_log_pos 13002码= 106
*提交/ *;
# 13002
# 130204 11:45:44服务器ID 1 end_log_pos 13077查询thread_id = 5 = 1013 = 0 error_code exec_time
设置*时间戳= 1359949544 *;
开始
**;
# at 13077
# 130204 11:45:44服务器ID 1 end_log_pos 13175查询thread_id = 5 = 1013 = 0 error_code exec_time
设置*时间戳= 1359949544 *;
从应用程序中删除ID 6
**;
# 13175
# 130204 11:45:44服务器ID 1 end_log_pos 13202码= 107
*提交/ *;
分隔符;
日志文件的结尾#
你可以看到,当数据被删除。具体时间也可以通过选择from_unixtime应用(1359949544);
令人欣慰的是,创建表的程序语句和插入语句也在这个文件中。手动删除删除语句后,即在临时库的源mysqlbinlog发现SQL文件
在删除之前,应用程序被恢复到状态。然后临时库的数据导入当前的网络数据(这不是本文的重点)。
如果没有备份,它将检索所有APP表相关的数据很麻烦,尤其是binlog文件。
那只会从应用程序建立到现在mysqlbinlog检索与应用程序关联表的DML操作SQL记录,然后将数据。
我认为这种情况一般是少的。虽然麻烦,但不能恢复。
以上mysql方法检索的数据删除表(见)很小,可以分享你的所有内容,希望能给你一个参考,希望你能支持。
如果没有备份,可能会更麻烦,检索数据的成本也很高。
以下是备份时间点检索后发现mysqlbinlog的数据的方法。
做一个简单的实验,删除MySQL数据,然后使用mysqlbinlog找回你刚删除的数据。
应用程序的创建时间和数据表的插入:2013-02-04 10
原理:mysqlbinlog
前提:MySQL打开bin日志记录
在删除测试之前:
显示表;
----------------------- + +
| tables_in_report_sina |
----------------------- + +
| APP |
|测试|
----------------------- + +
选择现在();
--------------------- + +
|(现在)|
--------------------- + +
2013-02-04 11:45:44 | |
--------------------- + +
1行集(0.01秒)
从应用程序中选择计数(1);
---------- + +
|计数(1)|
---------- + +
10 | |
---------- + +
1行集(0.01秒)
开始删除数据:
从应用程序中删除id = 1;
查询OK,1行受影响(0秒)
MySQL >
从应用程序中删除id<6;
查询OK,4行受影响(0.01秒)
从应用程序中选择计数(1);
---------- + +
|计数(1)|
---------- + +
5 | |
---------- + +
1行集(0秒)
选择现在();
--------------------- + +
|(现在)|
--------------------- + +
2013-02-04 12:08:45 | |
--------------------- + +
开始检索数据:
1。找到bin日志的位置:
- RW光碟---- 1 mysql 17k 2月4日alert.log 11:43
- RW光碟---- 1 mysql 1.0k 11月1日master-bin.000001 14:52
- RW光碟---- 1 mysql 126 12月25日14:00 master-bin.000002
- RW光碟---- 1 mysql 126 12月25日14:02 master-bin.000003
- RW光碟---- 1 mysql 126 12月25日14:02 master-bin.000004
- RW光碟---- 1 mysql 107 12月25日14:02 master-bin.000005
- RW光碟---- 1 mysql 13k 2月4日master-bin.000006 12:02
你可以看到最近修改的二进制日志只有master-bin.000006
(如果删除了一些bin日志以返回数据,则必须一个接一个地找到bin日志)。
将执行一段时间的所有SQL语句保存到要还原的SQL文件中。
mysqlbinlog --开始日期= '2013-02-04 10 --停止日期= '2013-02-04 12:08:45 ' / / / MySQL应用程序日志 / / / master-bin.000006 >应用MySQL / mysql_restore_20130204.sql。
当然,在目前的网络环境下,这个时候可能不会那么准确,而且还有其他事务SQL语句的干扰。
创建临时数据库
创建数据库for_bak;
当前数据库在表应用程序中被删除
就欧盟my_db APP中- > /应用/ MySQL / app.sql
将当前数据导入临时表:
MySQL根欧盟for_bak < / / / app.sql MySQL的应用程序
让我们看看 / / / mysql_restore_20130204.sql应用MySQL的部分看:(你可以看到邪恶的删除语句)
设置*时间戳= 1359949544 *;
开始
**;
# 12878
# 130204 11:45:44服务器ID 1 end_log_pos 12975查询thread_id = 5 = 974 = 0 error_code exec_time
设置*时间戳= 1359949544 *;
从应用程序中删除id = 1
**;
# 12975
# 130204 11:45:44服务器ID 1 end_log_pos 13002码= 106
*提交/ *;
# 13002
# 130204 11:45:44服务器ID 1 end_log_pos 13077查询thread_id = 5 = 1013 = 0 error_code exec_time
设置*时间戳= 1359949544 *;
开始
**;
# at 13077
# 130204 11:45:44服务器ID 1 end_log_pos 13175查询thread_id = 5 = 1013 = 0 error_code exec_time
设置*时间戳= 1359949544 *;
从应用程序中删除ID 6
**;
# 13175
# 130204 11:45:44服务器ID 1 end_log_pos 13202码= 107
*提交/ *;
分隔符;
日志文件的结尾#
你可以看到,当数据被删除。具体时间也可以通过选择from_unixtime应用(1359949544);
令人欣慰的是,创建表的程序语句和插入语句也在这个文件中。手动删除删除语句后,即在临时库的源mysqlbinlog发现SQL文件
在删除之前,应用程序被恢复到状态。然后临时库的数据导入当前的网络数据(这不是本文的重点)。
如果没有备份,它将检索所有APP表相关的数据很麻烦,尤其是binlog文件。
那只会从应用程序建立到现在mysqlbinlog检索与应用程序关联表的DML操作SQL记录,然后将数据。
我认为这种情况一般是少的。虽然麻烦,但不能恢复。
以上mysql方法检索的数据删除表(见)很小,可以分享你的所有内容,希望能给你一个参考,希望你能支持。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。