MySQL 5.6 参考手册  / 第 16 章高可用性和可扩展性  / 16.1 使用 ZFS 复制  /  16.1.3 使用 ZFS 处理 MySQL 恢复

16.1.3 使用 ZFS 处理 MySQL 恢复

使用 ZFS 复制提供数据的常量副本时,请确保在原始系统发生故障时可以手动或自动恢复表。

如果发生故障,请遵循以下顺序:

  1. 停止源上的脚本,如果它仍在运行。

  2. 将副本文件系统设置为可读/可写:

    #> zfs set readonly=off slavepool

  3. 在副本上 启动mysqld 。如果您正在使用InnoDB,您将获得自动恢复(如果需要)以确保表数据正确,如我从中间 INSERT 快照启动时所示:

    InnoDB: The log sequence number in ibdata files does not match
    InnoDB: the log sequence number in the ib_logfiles!
    081109 15:59:59  InnoDB: Database was not shut down normally!
    InnoDB: Starting crash recovery.
    InnoDB: Reading tablespace information from the .ibd files...
    InnoDB: Restoring possible half-written data pages from the doublewrite
    InnoDB: buffer...
    081109 16:00:03  InnoDB: Started; log sequence number 0 1142807951
    081109 16:00:03 [Note] /slavepool/mysql-5.0.67-solaris10-i386/bin/mysqld: ready for connections.
    Version: '5.0.67'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

使用InnoDB表格和定期同步计划来降低重大数据丢失的风险。在 MyISAM 表上,您可能需要运行 REPAIR TABLE,您甚至可能会丢失一些信息。