请高手帮忙了,mysql数据恢复的问题;

qq38396025 2010-06-26 09:43:19
一开始用的是安装版,有一天系统坏掉了,就重装了一下系统,装完后,发现mysql不能正常使用,就覆盖安装mysql,在原来的位置重新了一下mysql,不过安装之前,我把原来的mysql整个文件目录复制了一份出来;

重新安装后,发现原来的库和表都在,就是查询的时候说找不到表,网上找了蛮久关于mysql数据恢复的文章,没有成功,网上说的很多都是关于MyISAM类型的库,我记得我之前建的是Innodb,不知道有什么办法恢复数据没有?

希望能有一个可操作性的指点,谢谢!
...全文
559 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq38396025 2010-06-29
  • 打赏
  • 举报
回复
明天来结贴
qq38396025 2010-06-29
  • 打赏
  • 举报
回复
估计只有不了了之了
zuoxingyu 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wwwwb 的回复:]
INNODB的表,要用MYSQLDUMP备份再导入,直接COPY不行
[/Quote]

为什么会不行呢??

我拷贝整个DATA目录,然后重新启动服务,这样数据库就全部过去了。




qq38396025 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 iihero 的回复:]
引用 15 楼 qq38396025 的回复:

复制整个data目录,没有处理my.ini
出现如下错误:
InnoDB: Error: log file .\ib_logfile0 is of different size 0 48234496 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
100628……

显然这是由于my.ini中的datafile位置指定的不是你现在覆盖的位置。
[/Quote]

免安装版解压后,根目录下没有叫my.ini的配置文件,都是my-large.ini、my-medium.ini等等的备用文件,我没有改名启用一个,也可以启动服务;所以我没有动my.ini; 这样的情况下,这个“my.ini中的datafile”应该配在哪里?我只是好奇问下;
iihero_ 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 qq38396025 的回复:]

复制整个data目录,没有处理my.ini
出现如下错误:
InnoDB: Error: log file .\ib_logfile0 is of different size 0 48234496 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
100628 21:47:37 [ERROR] Can't op……
[/Quote]
显然这是由于my.ini中的datafile位置指定的不是你现在覆盖的位置。
qq38396025 2010-06-28
  • 打赏
  • 举报
回复
数据库同名目录下的很多*.frm都在
qq38396025 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 acmain_chm 的回复:]
引用重试启动,出现错误日志:
InnoDB: Error: log file .\ib_logfile0 is of different size 0 48234496 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
100628 21:39:51 [Note] D:\temp\mysql-5.1.6-alpha-……
[/Quote]

这个是正常启动了服务,进去,数据库和表结构都在,但是查询会报错,说找不到表
qq38396025 2010-06-28
  • 打赏
  • 举报
回复
我用原来的安装版本也已经试过了,覆盖data目录,也不行
ACMAIN_CHM 2010-06-28
  • 打赏
  • 举报
回复
[Quote]重试启动,出现错误日志:
InnoDB: Error: log file .\ib_logfile0 is of different size 0 48234496 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
100628 21:39:51 [Note] D:\temp\mysql-5.1.6-alpha-win32\bin\mysqld-nt.exe: ready for connections.
Version: '5.1.6-alpha-nt-max' socket: '' port: 3306 MySQL Community Edition (GPL)[/Quote]以上说明你的MYSQL已经正常启动了! 你应该连进去看一下。
qq38396025 2010-06-28
  • 打赏
  • 举报
回复
复制整个data目录,没有处理my.ini
出现如下错误:
InnoDB: Error: log file .\ib_logfile0 is of different size 0 48234496 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
100628 21:47:37 [ERROR] Can't open the mysql.plugin table. Please run the mysql_install_db script to create it.
100628 21:47:37 [Note] D:\temp\mysql-5.1.6-alpha-win32\bin\mysqld-nt.exe: ready for connections.
Version: '5.1.6-alpha-nt-max' socket: '' port: 3306 MySQL Community Edition (GPL)
qq38396025 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 acmain_chm 的回复:]
贴出你的错误日志中的信息。
[/Quote]

用了一个免安装版的mysql,解压后直接运行mysql-nt.exe,可以启动;
然后关闭服务,杀掉进程;

将文件考入
几个原来数据库的文件夹、
ibdata1
ib_logfile0
ib_logfile1


重试启动,出现错误日志:
InnoDB: Error: log file .\ib_logfile0 is of different size 0 48234496 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
100628 21:39:51 [Note] D:\temp\mysql-5.1.6-alpha-win32\bin\mysqld-nt.exe: ready for connections.
Version: '5.1.6-alpha-nt-max' socket: '' port: 3306 MySQL Community Edition (GPL)

zuoxingyu 2010-06-28
  • 打赏
  • 举报
回复
我做的是复制整个DATA文件夹,不是单个的表文件。
ACMAIN_CHM 2010-06-28
  • 打赏
  • 举报
回复
[Quote]INNODB的表,要用MYSQLDUMP备份再导入,直接COPY不行[/Quote]这个说明并不准确或者正确。在全数据库复制的情况直接复制是可行的。当然单表复制INNODB中的表是做不到的。但单表复制不是这个贴子楼主所面临的问题,所有不需要考虑了。

直接复制datadir目录下的所有文件是可以的,这也是一种常见的备份方式。 但恢复的时候要注意。


1. my.ini文件中参数的设置,特别是有关ibdata文件参数的设置。
2. 备份在完整,除了ibdata1 还有其它相关文件。
qq38396025 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zuoxingyu 的回复:]
引用 9 楼 wwwwb 的回复:
INNODB的表,要用MYSQLDUMP备份再导入,直接COPY不行


为什么会不行呢??

我拷贝整个DATA目录,然后重新启动服务,这样数据库就全部过去了。
[/Quote]

你确定你的表类型是INNODB类型么?

在网上查了很多资料显示,INNODB的表恢复起来貌似没那么简单,直接copy就可以搞定。。。

期待。。
wwwwb 2010-06-28
  • 打赏
  • 举报
回复
INNODB的表,要用MYSQLDUMP备份再导入,直接COPY不行
iihero_ 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qq38396025 的回复:]

ibdata1
ib_logfile0
ib_logfile1
这三个都在,都覆盖了,服务启动不起来了,错误1067,进程意外终止;
[/Quote]
你可能还得需要恢复以前的配置文件my.ini,你还记和相关的几个参数的值吗?
比如datafile等等。
ACMAIN_CHM 2010-06-27
  • 打赏
  • 举报
回复
除了ibdata1 还有

ibdata1
ib_logfile0
ib_logfile1
ACMAIN_CHM 2010-06-27
  • 打赏
  • 举报
回复
贴出你的错误日志中的信息。
qq38396025 2010-06-27
  • 打赏
  • 举报
回复
ibdata1
ib_logfile0
ib_logfile1
这三个都在,都覆盖了,服务启动不起来了,错误1067,进程意外终止;
qq38396025 2010-06-27
  • 打赏
  • 举报
回复
我试过,原来位置重新安装mysql后,把原来DATA目录下的目录和文件全覆盖了一边(除了ibdata1),重启后发现,库和表是有了,但是不能执行sql,报错提示表不存在!

然后把ibdata1也覆盖了,重启,出现错误1067,进程意外终止;

加载更多回复(3)

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧