我已将我的数据库文件夹从windows system C:/wamp/bin/mysql/mysql.XX/data/database_name
复制到linux系统/var/lib/mysql/database_name
我已通过终端连接到mysql,执行查询show tables;
它显示数据库中的所有tebles,但是当我执行select * from table_name
或desc table_name
时显示错误ERROR 1146 (42S02): Table 'database_name.table_name' doesn't exist
有人对此有所了解吗?
答案 0 :(得分:3)
我有同样的问题,通过将 ibdata1 从备份复制到 / var / lib / mysql 来解决。
我试图恢复整个数据库,不知道只有一个表会发生什么。
答案 1 :(得分:0)
使用mysqldump
复制数据库,不复制二进制数据文件。
当您手动复制二进制文件时,某些内部数据可能不一致,例如,某些事务可能无法完成。
此外,如果您将数据文件移动到不同的mysql版本/存储引擎版本,引擎可能无法以新/先前版本格式读取文件。
系统编码也可能不同,因此内部数据表示可能不同,并且在Windows和Linux上完全不兼容。