MySQL表丢失后如何找回?(mysql表不见了)
MySQL表丢失后如何找回?
MySQL表丢失让很多用户苦恼,当服务器崩溃或由于误操作导致数据表丢失时,往往会让用户绞尽脑汁,无从下手去寻找方法可以找回数据表,但幸运的是,MySQL在此时也会提供帮助,可以采用相应的技术手段来恢复MySQL表。
首先,假如MySQL数据表丢失前没有备份,可以采用MySQL反编译器PT-Online-Schema-Change来恢复。这个方法其实类似于手动拷贝MySQL表,仅仅是将传输过程托付给MySQL Server来实现,不会出现表记录丢失的情况。
使用这种方法之前,先输入:$perl pt-online-schema-change –execute –alter ‘修改的变更语句’ D=数据库,t=表 来确认是否能够进行反编译表的操作。利用这种方法一定要确认修改的变更语句能够被Mysql Server识别,另外服务器负载如果过高也会出现反编译表的错误。
其次,如果MySQL数据表丢失前有备份,可以通过类似mysqldump的方式将损坏的表dump出来,然后再重建MySQL表,将dump文件中的表重新载入即可。要使用这种方法,需要通过DOS命令:
mysqldump –skip-extended-insert –skip-quick -uroot -p 数据库 表 > FileName.sql 将损坏的数据表dump出来,然后再执行$mysql -uroot -p
此外,还可以采用简单的方法,例如对损坏的表重命名,然后重新创建一个相同结构的表,并将表中的数据插入新创建的表来恢复。这一步骤需要多熟悉SQL语句,需要先查询损坏的表的结构,再通过create table 将表结构从新创建,接着通过INSERT INTO,将损坏表中的数据插入新创建的表中即可。
总之,只要有必要,MySQL表丢失后仍然可以找回,通过备份、PT-Online-Schema-Change服务等手段,选择一定的技术方法都可以找回MySQL表。