有个问题您看看可否帮忙,之前服务器上安装的数据库为几年前安装的mysql 5.0, 前日数据库启动上出现些问题,我们就以为数据库要重新安装,所以就备份了mysql安装目录下的data文件夹为10个左右的网站做了备份(其中为frm myd myi opt文件,没有导出sql文件)然后重新安装了一个mysql 5.0(不是最早安装mysql 5.0时用的安装文件,而是在网上另外下载的一个,当初的安装文件找不到了),结果安装后再将之前备份的data文件夹还原回去新的安装目录下,就发现大部分网站无法正常链接数据库了。现在基本上可以确定是数据库安装时编码的问题,因为不知道当初安装时选择的是什么编码,结果我们就反复卸载mysql再尝试用其他编码,结果尝试了几个主要的安装编码都是不行(但是在选择utf-8编码时,有3个网站自动恢复了,但是其他几个还是不行),由于其中有一个网站之前曾经备份过sql文件,所以再尝试导入一次就可以使用了。但是通过data备份的很多数据库还是无法正常使用,您可以帮忙将之前备份的frm myd myi opt文件导出为mysql文件,如果可以帮忙请加我的qq 875666 我会支付酬劳的,多谢。

解决方案 »

  1.   

    这样冷备的话,mysql版本不一样确实有些时候是不兼容的。
      

  2.   

    data目录下的ibdata1  备份了没有?或者上传一套 frm,myd,myi 文件以供分析。
      

  3.   

    你进去以后会有表吧,看看表的创建sql然后判断下所用的字符集。show create table看看你表有没有定义字符集,show table status看看有没有个别不同的。
      

  4.   

    demo.suninway.com/fortis.zip这里有一套data目录下的一个网站的mysql,麻烦您ACMAIN_CHM
      

  5.   

    发错,应该是demo5.suninway.com/fortis.zip这里下载
      

  6.   

    两个链接都可以下载啦,麻烦各位帮忙看看,可否将之前备份的frm myd myi opt文件导出为mysql文件另外现在有技术人员提出一个问题所在:innodb引擎的数据不同于myisam引擎
    innodb引擎的数据库 全部在ibdata里面 这个不是拷贝数据就可以恢复的   
      

  7.   

    看来导出数据或mysqldump是王道
      

  8.   

    下了demo5的试了下,根据里面的文件来看,其中df_admin和df_member为 MyISAM类型的表,也有数据,其它的表为 InnoDB,数据在数据库 data 目录下的 ibdata 等文件中,你的压缩包里没有这些数据。将你的压缩包解压后,放在 mysql 服务器 data 目录下,重启 mysqld 服务后,使用如下语句可以导出没有乱码的 sql 文件,你再重新导入数据库即可,甚至可以根据需要将你新建的库更改为你常用的字符集了。当然,压缩包里只有上述两个表的数据,所以其它的表你还需要自己去弄数据了。导出语句:
    mysqldump -uroot -p -f --default-character-set=gbk fortis > fortis.sql