前言:
继上一篇MySQL【Delete误操作】回滚之后,现在介绍下Update回滚,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里说明因为Update
操作的恢复方法:主要还是通过binlog来进行恢复,前提是binlog_format必须是Row格式,否则只能通过备份来恢复数据了。和上一篇的条件一样。
方法:
条件:开启Binlog,Format为Row。
步骤:
1.通过MySQL自带工具mysqlbinlog 指定导出操作的记录:
表结构和记录数:
root@localhost : test 10:06:16>select count(*) from me_info;
+----------+
| count(*) |
+----------+
| 84183 |
+----------+
1 row in set (0.00 sec)
root@localhost : test 10:12:14>select id,realName,contactAddress from me_info limit 3;
+---------+--------------------------+--------------------+
| id | realName | contactAddress |
+---------+--------------------------+--------------------+
| 2123269 | 数据库管理员 | 浙江杭州滨江 |
| 2123270 | 中级数据库管理员 | 浙江杭州西湖 |
| 2123271 | 高级数据库管理员 | 浙江杭州余杭 |
+---------+--------------------------+--------------------+
root@localhost : test 10:12:18>desc me_info;
+-----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | MUL | 0 | |
| birthTime | date | YES | | NULL | |
| enName | varchar(255) | YES | | NULL | |
| gender | tinyint(2) | YES | | 0 | |
| identity | varchar(255) | YES | | | |
| identitylType | tinyint(2) | YES | | 0 | |
| interest | varchar(255) | YES | | | |
| jobYear | int(11) | YES | | 0 | |
| livePlace | mediumint(6) | YES | | 0 | |
| location | mediumint(6) | YES | | 0 | |
| married | tinyint(2) | YES | | 0 | |
| mdCerti | tinyint(2) | YES | | 0 | |
| mdCertiNum | varchar(255) | YES | | | |
| photo | varchar(255) | YES | | | |
| posit | mediumint(6) | YES | | NULL | |
| graduateMajor | int(11) | YES | | 0 | |
| realName | varchar(255) | YES | | NULL | |
| userPublic | tinyint(2) | YES | | NULL | |
| email | varchar(255) | YES | | NULL | |
| contactCell | varchar(255) | YES | | NULL | |
| contactPhone | varchar(255) | YES | | NULL | |
| contactZip | varchar(6) | YES | | NULL | |
| contactWebsite | varchar(255) | YES | | NULL | |
| contactLocation | mediumint(6) | YES | | 0 | |
| contactAddress | varchar(255) | YES | | NULL | |
| userName | varchar(50) | YES | | NULL | |
| education | int(11) | YES | | 0 | |
| workName | varchar(255) | YES | | NULL | |
| workCategory | varchar(255) | YES | | NULL | |
| nowSalary | int(11) | YES | | 0 | |
| grade | int(11) | YES | | 0 | |
| userId | int(11) | YES | | 0 | |
| jobApplyStatus | tinyint(4) | YES | | NULL | |
| source | tinyint(4) | YES | | NULL | |
| englishLevel | tinyint(4) | YES | | 0 | |
| modifyTime | datetime | YES | | NULL | |
+-----------------+--------------+------+-----+---------+-------+
更新表:
root@localhost : test 10:15:09>update me_info set realName='周吴郑王',contactAddress='浙江vv杭州vv北京';
Query OK, 84183 rows affected (1.56 sec)
Rows matched: 84183 Changed: 84183 Warnings: 0
root@localhost : test 11:11:08>select id,realName,contactAddress from me_info limit 3;
+---------+--------------+------------------------+
| id | realName | contactAddress |
+---------+--------------+------------------------+
| 2123269 | 周吴郑王 | 浙江vv杭州vv北京 |
| 2123270 | 周吴郑王 | 浙江vv杭州vv北京 |
| 2123271 | 周吴郑王 | 浙江vv杭州vv北京 |
+---------+--------------+------------------------+
3 rows in set (0.00 sec)