离线 mysql 转储

离线 mysql 转储

我在 VPS 提供商处托管了一个 60GBInnoDB file-per-table MySQL的数据库。我想生成文件的转储。运行mysqldump会导致连接到此数据库的网站速度极慢,导致转储期间反复超时。VPS 提供商提供自发磁盘克隆服务。

有没有办法从离线克隆而不是在线实时数据库转储数据库?在此期间,我将使后者成为只读的,以避免任何不一致。

更新:

  • 克隆只是数据库磁盘的复制。
  • 我有root权限。

答案1

启动另一个运行 MySQL 的 VPS,并将datadir其他设置指向克隆的磁盘my.cnf

答案2

我认为您应该为此使用 percona xtrabackup。就备份时间而言,它不是那么快,但它不会妨碍您的数据库正常运行。

我们在生产中使用了这个解决方案,效果非常好。

http://www.percona.com/software/percona-xtrabackup

我不确定在 mysql 运行时从克隆磁盘进行转储是否是个好主意。如果您想这样做,那么您应该运行 FLUSH TABLES WITH READ LOCK;或者直接关闭 mysql 服务器。

相关内容