根据 Percona 的说法:
如果出现以下情况,请卸载文件系统或将其设为只读......
文件系统损坏或
您删除了 innodb_file_per_table 格式的表
如果我启用了 innodb_file_per_table,并且意外删除了一个表,而 datadir 已挂载为 / 分区内,是否仍可以恢复数据?显然,您无法使用未挂载的根文件系统。
我们的 VPS 主机有一个默认的文件系统表,我们无法自定义。我想知道未来是否会出现这种情况。
编辑:通过 NFS 将 / 文件系统以只读形式挂载到另一个系统上是一种解决方法吗?
短暂性脑缺血。
答案1
您可以将根分区保留在 RW 模式,但必须了解任何写入的字节都可能覆盖您的 MySQL 数据。对于操作系统来说,它是可用空间,因此可以重复使用。
对于您的情况,我会停止所有可能写入磁盘的进程(包括 cron 作业),并将磁盘映像传输到其他服务器。然后,所有恢复工作都可以在该服务器上完成。
dd if=/dev/sda of=/dev/stdout | nc a.b.c.d 9999
在目标服务器(abcd)上启动以下命令:
nc -l 9999 > disk.img