小编And*_*man的帖子

通过 ZFS 快照备份 MySQL 数据库

我发现许多网站都在谈论这样做,但我遗漏了一些重要的细节。一般步骤是

  • FLUSH TABLES WITH READ LOCK
  • 获取 ZFS 快照
  • UNLOCK TABLES

各种消息来源报告说,我正在使用的 InnoDB 实际上并不支持FLUSH. MySQL 用户手册指出有一个FLUSH TABLES...FOR EXPORT用于 InnoDB的变体,但这需要单独指定每个表,而不是备份整个数据库。我宁愿避免单独指定每个表,因为表列表很有可能与实际存在的表不同步。

我遇到的另一个问题是我计划做类似mysql -h"$HOST" -u"$USERNAME" -p"$PASSWORD" --execute="FLUSH TABLES WITH READ LOCK". 但是,这会在会话退出后立即解除锁定。这是有道理的,但也很烦人,因为我在拍摄快照时需要持有读锁。

我的另一个想法是使用 Percona XtraBackup 之类的工具进行热备份并拍摄备份快照,但我不想支付将所有数据写入第二个位置只是为了快照它的成本。

mysql freebsd backup zfs innodb

17
推荐指数
3
解决办法
5339
查看次数

标签 统计

backup ×1

freebsd ×1

innodb ×1

mysql ×1

zfs ×1