MySQL数据库InnoDB引擎下服务器断电数据恢复方法
2016-04-15 23:27
856 查看
说明:
线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹。
问题:
通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时找不到数据库中的表,造成网站无法正常访问。
分析:
1、MySQL数据库,使用拷贝文件方式来恢复数据库,只支持MyISAM引擎;
2、如果有数据库或数据表使用了InnoDB引擎,恢复的时候,必须连同MySQL数据库目录下的ibdata1文件一起拷贝过来。
解决办法:
1、停止MySQL服务
service mysqld stop
2、找之前的备份数据库文件
cd /home/mysql_bak/mysql/ #进入MySQL备份目录
ibdata1 #需要此文件
3、拷贝ibdata1文件到数据库相应目录
cp /home/mysql_bak/mysql/ibdata1 /usr/local/mysql/data/ibdata1 #拷贝文件到现在的数据库目录
chown mysql.mysql /usr/local/mysql/data/ibdata1 #设置权限位mysql用户和用户组
rm /usr/local/mysql/data/ib_logfile0 #删除现有日志文件,否则启动MySQL失败
rm /usr/local/mysql/data/ib_logfile1 #删除现有日志文件,否则启动MySQL失败
4、启动MySQL
service mysqld start
故障解决
此时页面已正常打开。
ibdata1作用:InnoDB引擎下的表数据文件。
建议:数据库一定要做好备份,恢复数据最好使用.sql备份文件导入。
至此,MySQL数据库InnoDB引擎下服务器断电数据恢复教程完成。
您可能感兴趣的文章:
相关文章推荐
- mysql innodb的学习(一)
- mysql innodb学习(二)
- mysql innodb学习(三)
- mysql innodb学习(四)
- MySQL中InnoDB存储引擎的锁的基本使用教程
- 修改MySQL的数据库引擎为INNODB的方法
- MySQL中Innodb的事务隔离级别和锁的关系的讲解教程
- Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
- MySQL InnoDB和MyISAM数据引擎的差别分析
- InnoDB数据库死锁问题处理
- show engine innodb status显示信息不全如何解决
- mysql 中InnoDB和MyISAM的区别分析小结
- MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法
- mysql之innodb的锁分类介绍
- 可以改善mysql性能的InnoDB配置参数
- MyISAM和InnoDB引擎优化分析
- 关于mysql innodb count(*)速度慢的解决办法
- mysql 有关“InnoDB Error ib_logfile0 of different size”错误
- 浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析
- mysql 提示INNODB错误的解决方法