几次数据库的丢失让我郁闷到了极点,不惜浪费再多的时间也得找出根本的原因,MySQL表 使用中的异常情况相信好多网友都遇到过,Google上也有好多解决方案,好像都是于事无补的一些操作,有的更是驴唇不对马嘴,下面是我从高人那里整理出来的,希望对大家有帮助。
错误表现:
运行页面时显示 Table “xxx” doesn’t exist.
phpMyAdmin中存在的表显示”使用中(in use)”, 无法对表进行操作.
可能的原因:
升级了MySQL版本
改变了安装目录
数据备份不完全
一般来说, 数据备份不完全是引起这个错误的根本原因.
以WordPress数据库来说, 数据表类型分为MyISAM与InnoDB两种.
以表”Table”为例:
如类型是MyISAM, 数据文件则以”Table.frm”"Table.MYD”"Table.MYI”"三个文件存储于”/data/$databasename/”目录中.
如类型是InnoDB, 数据文件则存储在”$innodb_data_home_dir/ibdata1″(一般情况).
由于MySQL这样数据混杂的形式, 往往很容易让使用者在备份时忘记了备份InnoDB, 从而导致了上述错误.
当然了, 解决方法就很简单, 连带Data_InnoDB一起转移便可.
仍然需要注意的是, 仅仅转移可能是不够的: 你可能需要检查my.ini中对于innodb_data_home_dir的定义.
如有, 则将它改成你现在Data_InnoDB的绝对目录路径.
如没有, 则将它加入my.ini中, 由于懒惰就不写冗长的注释了.
innodb_data_home_dir = "C:/Program Files/MySQL/MySQL Server 5.0/data/"
如果数据库目录下面有:ibdata1 那就是了。