我的硬盘驱动器崩溃了,不幸的是我没有.sql转储可用于恢复我的数据库。虽然我最近备份了整个文件系统。
我从我的备份中抓取了/usr/local/var/mysql/
中的文件,然后将它放在我重新安装的同一位置。
当我通过命令行使用show databases;
时,我可以看到所有数据库。我也可以使用use <database>;
选择数据库。但是,当我尝试访问数据库上的任何表时,我看到:ERROR 1146 (42S02): Table 'database.table' doesn't exist
。
值得庆幸的是,它只发生在一些不太重要的数据库上,但理想情况下我想完全恢复它们。
由于
答案 0 :(得分:0)
覆盖后你重启了mysql守护进程吗? 还检查这个帖子: https://superuser.com/questions/165575/import-or-restore-mysql-databases-from-var-directory
答案 1 :(得分:0)
根据您的说明,您是否已从/usr/local/var/mysql/
复制了所有文件,这一点并不明确。根据数据库中的表是MyISAM还是InnoDB存储引擎,您将需要不同的文件集。请查看此评论:Restoring MySQL database from physical files