我最近搞砸了一个查询并破坏了 MySQL 中的一个表。我还意识到我没有一个 cron 来执行每晚的 SQL 转储。但我确实有一个夜间磁盘映像,我已将其恢复并安装在数据库服务器上。
我在 ~/my_restore/var/lib/mysql 中发现了一个巨大的“ibdata1”文件,听起来它可能是我的数据库。
我可以运行命令来直接从数据库文件进行转储吗?
或者也许我应该停止 mysql 并更新 /etc/mysql/my.cnf 以指向新的数据文件?
只是想在我把愚蠢与更愚蠢(呃)复合之前寻求建议。
首先,获取正在运行的 mysql 服务器的磁盘映像几乎肯定会导致备份损坏。这是一个糟糕的备份策略,您应该尽快纠正。mysqldump是首选工具,其次是停止mysql服务器。
无论如何,如果我处于您的位置并且能够承受一些停机时间,我将遵循的程序如下。