周末的时候,开发人员在使用一台机器做测试,安装了一个一键安装包lnmp。结果把这台机器上的原来rpm安装的mysql-server搞挂了,后来不知道他们怎么弄的,把mysql-server存储在/var/lib/mysql 下的文件损坏了一些 导致查找不到表里的数据 .我本地登陆进去后,发现没有mysql这个库了,继续看表,可以显示到表 ,但是找不到表里的数据.看了下错误日志,报没有权限访问这个表。周一和北京那边负责维护这台机器的人联系后,结果如下:没有做备份,没有二进制日志,也不知道用得啥引擎。这台机器交接给我们这边的开发人使用时没有做特别说明,开发也不知道上面跑了个mysql。现在出了这个问题,没办法,我来弄了只有.仔细检查/var/lib/mysql 目录下,确定引擎为innodb,共享数据库文件还在,表的结构文件也还在,redolog也还在,还好,问题不大。接下来采用如下步骤恢复数据库:1、恢复原数据库的配置文件:包括日志大小 文件路径等2、在[mysqld]段中增加:innodb_force_recovery = 43、可以在另外地方建立新的数据库并用原表的结构创建表4、将上一步中建立的.frm表文件拷贝到准备恢复的数据库中5、启动数据库6、停止数据库 注释掉innodb_force_recovery = 4项7、重新启动数据库,应该可以用mysqldump导出数据了表结构文件应该可以凭借你的记忆恢复关键是ibdata数据完好 用导出的sql重新入库Xshell连接Linux下Oracle无法回退的解决办法Linux Cassandra配置和管理平台使用相关资讯 数据恢复
- Linux下高效数据恢复软件 (10/24/2014 17:20:54)
- 根据控制文件的信息恢复数据文件 (09/08/2012 12:03:41)
- 正确处理备份数据 数据恢复保障数 (08/02/2007 07:09:55)
| - Linux下利用文件描述符恢复的成功 (05/05/2014 20:10:46)
- 安装Linux时破坏分区表致Windows下 (01/10/2008 16:17:28)
|
本文评论 查看全部评论 (0)