上一篇 下一篇 分享链接 返回 返回顶部

美国服务器innodb结构数据库损坏恢复方法

发布人:欢子 发布时间:2026-01-21 15:07 阅读量:9
美国服务器通过备份盘数据恢复数据库,适合普通人员操作,一般我们都建议用户自行备份数据。

一.windows系统

找到mysql安装目录,

如果是我司建站助手安装,则在D:\soft_php_package\mysql\,将data目录改名,然后将备份盘中相同路径下data复制回来,

再启动,如果仍无法启动,可尝试备份一份整个mysql目录以后,覆盖整个mysql目录;

如果是自己安装的mysql,则找到安装目录下my.ini文件,用记事本打开该文件,如

basedir="D:/phpStudy/MySQL/"#这里是mysql安装路径

datadir="D:/phpStudy/MySQL/data/"#这里是mysql数据存放路径

将data目录改名,然后将备份盘中相同路径下data复制回来,如果仍无法启动,可尝试覆盖整个mysql目录;

如果仍无法启动恢复,可备份数据,重装mysql

二.linux系统

如果是我司默认安装wdcp环境,则在/home/wddata/var,将var目录改名,然后将备份盘中相同路径下var复制回来,

cd/home/wddata/

mvvarvar.bak

cp-rfpu/home1/wddata/var/home/wddata/

servicemysqldstart

如果是自己安装的mysql,则找到my.cnf文件,如

basedir="/etc/mysql/"#这里是mysql安装路径

datadir="/etc/mysql/var/"#这里是mysql数据存放路径

将var目录改名,然后将备份盘中相同路径下var复制回来,如果仍无法启动,可尝试覆盖整个mysql目录

如果仍无法启动恢复,备份好现有mysqldata目录,再重装mysql

强烈推荐按以上方案恢复

以下是专业技术人员重建innodb数据库过程参考,非专业人士请勿尝试,可能会造成数据丢失!!!

跳过恢复模式,导出数据重建数据库

找到mysql安装目录下的my.ini文件,在[mysqld]下一行中添加

innodb_force_recovery=6

innodb_purge_threads=0

保存后再启动mysql

在D:\mysql\建立一个文件,命名db.txt,用记事本打开

将使用innodb结构的数据库名写入,一行一个

再在桌面新建立一个文件,命名dump.bat,用记事本打开复制以下代码

echooff

cls

mdD:\deleted\sql

for/f%%iin(D:\mysql\db.txt)do(

echo%%i

mysqldump-uroot-p密码-Q-a--opt--default-character-set=gbk%%i>D:\deleted\sql\%%i-gbk.sql

mysqldump-uroot-p密码-Q-a--opt--default-character-set=utf8%%i>D:\deleted\sql\%%i-utf8.sql

)

其中'密码'改为实际的mysql密码

停止服务,去掉my.ini的innodb_force_recovery参数,将data目录下的ibdata和ib_logfile剪切到其他位置,启动服务

导入数据

新建im.bat

echooff

cls

mdD:\deleted\bkup

for/f%%iin(D:\mysql\db.txt)do(

echo%%i

move/yd:\mysql\data\%%iD:\deleted\bkup\

mysql-uroot-p密码-e"createdatabase%%i;"

mysql-uroot-p密码--default-character-set=utf8%%i )

其中'密码'改为实际的mysql密码

linux同理修改my.cnf参数后,导出数据,将var目录下的ibdata和ib_logfile剪切到其他位置,启动服务

导入数据

目录结构
全文