MySQL 5.6 Reference Manual Including MySQL NDB Cluster 7.3-7.4 Reference Guide
Configuring MySQL on the source file system is a case of creating
the data on the file system 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.5/my.cnf --user=mysql
To synchronize the initial information, perform a new snapshot and
then send an incremental snapshot to the replica using
zfs send
:
root-shell> zfs snapshot scratchpool@snap2 root-shell> zfs send -i scratchpool@snap1 scratchpool@snap2|sshid
@host
pfexec zfs recv slavepool
Doublecheck that the replica 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 replica 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 use
cron
to synchronize the changes at set times or
intervals.