Oct 9

MySQL中数据备份或转移后出现“使用中”和"doesn’t exist"解决办法 不指定

ouwsh , 16:56 , 技术随笔 , 评论(0) , 引用(0) , 阅读(2433) , Via 本站原创 | |
MySQL中数据备份中一个重要的问题.
错误表现:

运行页面时显示 Table “xxx” doesn’t exist.
phpMyAdmin中存在的表显示”使用中(in use)”, 无法对表进行操作, 提示如1.


可能的原因:

引用
升级了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 那就是它了。
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]