我有一台机器崩溃了,其中包含了一个非常重要的MySQL崩溃。我的自动每日备份是在其中一个位置的数据被写入。所以我只有物理/var/lib/mysql文件夹。
因此,我在一个新服务器上安装了mariadb,并复制了我的db文件。启动了Maria DB并查看了我所有的数据库。看看表的列表,它们都在那里。最后,尝试执行mysqldump,这样我就可以将它们移动到一个新位置(不同的主机提供程序),并且没有任何Innodb表被识别。其中之一是:
时“表'dbname.tablename‘不存在”
因此,我没有实际的转储可以恢复或我会恢复,所以innodb是不仁慈的。如何才能访问这些数据,以便将其转储到新主机?
发布于 2022-10-17 15:58:36
我猜到了。
最初,我从/var/lib/mysql文件夹中复制了旧的my.cnf和实际的数据库文件夹。这向我展示了MySQL中的数据库和表,我可以查询MyIsam表,但不能查询innodb表。
我所缺少的部分也是从各个db文件夹之外带过来的ibdata1文件(/var/lib/mysql/ibdata1 1)。一旦我完成了这个操作并启动了MySQL,我就可以访问无害数据库表数据了。在那之后,MySQLDUMP也表现得很好,我有我所有的数据。
https://dba.stackexchange.com/questions/318252
复制相似问题