Configuring MySQL on the source filesystem is a case of creating
      the data on the filesystem that you intend to replicate. The
      configuration file in the example below has been updated to use
      /scratchpool/mysql-data as the data directory,
      and now you can initialize the tables:
    
root-shell> mysql_install_db --defaults-file=/etc/mysql/5.0/my.cnf --user=mysql
      To synchronize the initial information, perform a new snapshot and
      then send an incremental snapshot to the slave using zfs
      send:
    
root-shell> zfs snapshot scratchpool@snap2 root-shell> zfs send -i scratchpool@snap1 scratchpool@snap2|ssh mc@192.168.0.93 pfexec zfs recv slavepool
      Doublecheck that the slave has the data by looking at the MySQL
      data directory on the slavepool:
    
root-shell> ls -al /slavepool/mysql-data/
      Now you can start up MySQL, create some data, and then replicate
      the changes using zfs send/ zfs
      recv to the slave to synchronize the changes.
    
The rate at which you perform the synchronization depends on your application and environment. The limitation is the speed required to perform the snapshot and then to send the changes over the network.
      To automate the process, create a script that performs the
      snapshot, send, and receive operation, and then use
      cron to synchronize the changes at set times or
      intervals. For automated operations, see
      Tim
      Foster's zfs replication tool.