查看数据库信息: 备份数据库:〔rootlocalhost〕mysqldumpurootptmntt。sqlEnterpassword:〔rootlocalhost〕llmntt。sqlrwrr1rootroot1771Aug2511:56mntt。sql2开启binlog功能 首先查看数据库是否开启binlog功能 需要修改mysql的配置文件,etc的my。cnf,添加一句logbinmysqlbin即可 3模拟误操作(插入3条数据,删除数据库)mysqlinsertintot1values(3);QueryOK,1rowaffected(0。00sec)mysqlinsertintot1values(4);QueryOK,1rowaffected(0。00sec)mysqlinsertintot1values(5);QueryOK,1rowaffected(0。00sec)mysqlselectfromt1;id125435rowsinset(0。00sec)QueryOK,0rowsaffected(0。00sec)FilePositionBinlogDoDBBinlogIgnoreDBmysqlbin。0000031061rowinset(0。00sec) 删除数据:mysqltruncatet1;QueryOK,0rowsaffected(0。00sec)mysqlselectfromt1;Emptyset(0。00sec) 此时突然数据库损坏或者人为删除mysqldroptablet1;QueryOK,0rowsaffected(0。00sec)Emptyset(0。00sec)4数据恢复 1用已经备份的mntt。sql来恢复数据mysqlsourcemntt。QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。01sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,2rowsaffected(0。00sec)Records:2Duplicates:0Warnings:0QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)QueryOK,0rowsaffected(0。00sec)Tablesintt11rowinset(0。00sec)mysqlselectfromt1;id122rowsinset(0。00sec) 2还有三条数据没有恢复,怎么办。只能用binlog来恢复〔rootlocalhost〕mysqlbinlognodefaultsvarlibmysqlmysqlbin。000002mysqlurootp123。ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwithADatabasechangedmysqlselectfromt1;id123455rowsinset(0。00sec)mysql5总结 备份数据mysqldumpurootp123456testlFtmptest。sqll:读锁(只能读取,不能更新)F:即flushlogs,可以重新生成新的日志文件,当然包括logbin日志 查看binlog日志 导入之前备份数据mysqlurootptvfmntt。sqlv查看导入的详细信息f是当中间遇到错误时,可以skip过去,继续执行下面的语句 恢复binlogfile二进制日志文件mysqlbinlognodefaultsbinlogfilemysqlurootpt 从某一(367)点开始恢复mysqlbinlognodefaultsstopposition367mysqlbin。000001mysqlurootpt 先查好那一点,用more来查看〔rootlocalhostmysql〕usrbinmysqlbinlognodefaultsmysqlbin。000002startposition794stopposition1055more 然后恢复〔rootlocalhostmysql〕usrbinmysqlbinlognodefaultsmysqlbin。000002startposition794stopposition1055usrbinmysqlurootpt 重置binlog日志QueryOK,0rowsaffected(0。01sec)FilePositionBinlogDoDBBinlogIgnoreDBmysqlbin。000001106关闭当前的二进制日志文件并创建一个新文件,新的二进制日志文件的名字在当前的二进制文件的编号上加1。