另类linux下mysql备份与恢复

备份数据库:mysqldump -u root -p xxx > xxx.sql
恢复数据库:mysql -u root -p xxx < xxx.sql

通过以上两条命令便能实现对数据的备份与恢复

但上面的命令是在系统正常时使用的,如果有一天你的系统崩溃了,而你手里面只有系统的备份文件,比如系统中各文件夹,却没有数据库的备份文件*.sql,这种情况下怎么恢复?

前两天服务器不小心被弄崩溃了,结果就只有崩溃前做的备份,实在恢复不了系统的情况下,决定重做系统,当然原来在我的服务器上的所有服务都不在了,包括cacti,radius等等需要数据库支持的服务。

为服务重新添加数据?那简直就是杀人的事

想起有些程序只要把相应的配置文件COPY到新装的程序中还是正常运行,那数据库呢?抱着试试一态度,决定把备份文件中的数据库文件得用这种方法来恢复数据库。

首先,要准备一台Linux,当然不能是我新装好的服务器,因为毕竟咱们只是试试嘛!

然后,我们开干
1、进入数据库,方法?不用我讲了吧!mysql -u root -p
建立一个数据库,名字要与你想要恢复的那个数据库名一致,比如radiusdb
2、进入数据库所在的目录,找不到?那就 find / -name mysql吧,找到之后就进入radiusdb目录
3、将备份中相应的radiusdb数据库文件COPY到你的radiusdb中
4、检查错误,运行myisamchk
myisamchk --recover /path    path=yourdbname
5、再次进入mysql,查看我的们刚才恢复的数据库成功了没有
6、导出数据库(备份)mysqldump
7、大功告成,现在将上面备份好的数据库radiusdb.sql拷贝到我们服务器上,再运行mysql -u root -p radiusdb < /path/radiusdb.sql ,前提,必须先建radiusdb

利用上面的方法可以成功的恢复已经严重破坏的数据库。