我使用Percona的xtrabackup来备份我的在线数据库。 有没有办法将备份数据库文件转换成类似于使用mysqldump创build的备份的SQL转储?
不幸的是, Percona执行XtraBackup过程的方法包括对正在运行的生产服务器运行rsync之类的操作,然后将InnoDB崩溃恢复应用于tmp文件夹(备份目录),并生成ib_logfile0和ib_logfile1,这些选项可以替代生产中的一些 。 这些数据只是一个备份。
如果你所有的数据都是InnoDB,那么最好使用–single-transaction参数对mysqldump进行生产。 更好的是,你可以在每个mysqldump进程上使用–single-transaction参数来再次执行数据库或者实例表的并行mysqldump 。
你的意思是它采取/var/lib/mysql (或Windows等效)的文件级副本?
如果是这种情况,请将文件恢复到某个位置,并将MySQL数据目录更改为/var/lib/mysql的位置,例如在/etc/my.cnf (或Windows对等体)中:
datadir=/tmp/restore/var/lib/mysql
然后重新启动MySQL,您将使用您可以使用mysqldump恢复的数据库。
如果你使用InnoDB表,你可能需要阅读这个 。