在每节课后的学校我需要备份我的数据库,所以我从mysql数据目录中复制数据库,当我再次工作时,我将其粘贴回来。
问题是我总是得到错误,即我输入show tables时我的表不存在;它列出了它们。
mysql> show tables;
+--------------------------+
| Tables_in_database_name |
+--------------------------+
| table_name |
+--------------------------+
1 row in set (0.00 sec)
当我输入类似这样的内容时,我收到错误:
describe table_name;
ERROR 1146 (42502): Table 'database_name.table_name' doesn't exist
有没有办法解决这个或者什么是备份我的数据库的正确方法?
答案 0 :(得分:2)
如果您使用了InnoDB表,并且刚刚复制了database_name文件,则会出现疯狂的错误。
您需要做的是将database_name文件与ib *文件一起复制。那些ib *文件位于MySQL datadir的根目录下(如ibdata1,ib_logfile0或ib_logfile1)。