Oct
9
MySQL中数据备份或转移后出现“使用中”和"doesn’t exist"解决办法
MySQL中数据备份中一个重要的问题.
错误表现:
运行页面时显示 Table “xxx” doesn’t exist.
phpMyAdmin中存在的表显示”使用中(in use)”, 无法对表进行操作, 提示如1.
可能的原因:
以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 那就是它了。
错误表现:
运行页面时显示 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 那就是它了。
让世界认识你——bobl
译文:35个导致你的博客








