mysql数据文件损坏造成的mysql服务无法启动怎样解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据文件损坏造成的mysql服务无法启动怎样解决相关的知识,希望对你有一定的参考价值。

因为mysql数据文件损坏造成的mysql服务无法启动该怎样解决?直接复制data目录下的ibdata1文件时提示数据冗余!用命令行启动服务net start mysql 提示1067错误!my.ini配置正确 注册表信息正确。

参考技术A 对数据库进行恢复restore!恢复到出现错误之前的时刻,前提是对DATABASE有backup.

MySQL数据库InnoDB引擎下服务器断电数据恢复

说明:

线上的一台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失败

系统运维 www.osyunwei.com 温馨提醒:系统运维原创内容©版权所有,转载请注明出处及原文链接

4、启动MySQL

service mysqld start

故障解决

此时页面已正常打开。

ibdata1作用:InnoDB引擎下的表数据文件。

建议:数据库一定要做好备份,恢复数据最好使用.sql备份文件导入。

至此,MySQL数据库InnoDB引擎下服务器断电数据恢复教程完成。

以上是关于mysql数据文件损坏造成的mysql服务无法启动怎样解决的主要内容,如果未能解决你的问题,请参考以下文章

Linux下mysql数据库损坏恢复

面试官:MySQL权限表损坏导致无法启动怎么办?

mysql启动后随即关闭问题解决(ibdata1文件损坏导致)

由于数据库损坏,MySQL 无法启动

mysql启动不了服务启动不了该怎么办

mysql启动不了服务启动不了该怎么办