The tungsten_provision_thl command can be used to
generate the THL required to provision a database with information from a
MySQL master to a slave. Because of the way the tool works, the tool is most
useful in heterogeneous deployments where the data must be formatted and
processed by the replicator for effective loading into the target database.
The tool operates as follows:
A mysqldump of the current database is taken from the
The generated SQL from mysqldump is then modified so
that the data is loaded into tables using the
BLACKHOLE engine type. These
statements still generate information within the MySQL binary log, but
do not create any data.
A sandbox MySQL server is started, using the MySQL Sandbox tool.
A duplicate replicator is started, pointing to the sandbox MySQL
instance, but sharing the same THL port and THL directory.
The modified SQL from mysqldump is loaded, generating
events in the binary log which are extracted by the sandbox replicator.
Because the sandbox replicator works on the same THL port as the standard
master replicator, the slaves will read the THL from the sandbox replicator.
Also, because it uses the same THL directory, the THL will be written into
additional THL files. It doesn't matter whether there are existing THL data
files, the new THL will be appended into files in the same directory.
The tool has the following pre-requisites, in addition to the main
Appendix C, Prerequisites for Tungsten Replicator:
A tarball of the Tungsten Replicator must be available so that the
duplicate replicator can be created. The full path to the file should be
The MySQL Sandbox tool must have been installed. For more information,
see MySQL Sandbox.
Installing MySQL Sandbox requires the
Perl modules. You may install these through CPAN or a
yum install -y perl-ExtUtils-MakeMaker perl-Test-Simple
After those packages are available, you can proceed with building MySQL
Sandbox and installing it. If you do not have sudo access, make sure
is added to
tar -xzf MySQL-Sandbox-3.0.44.tar.gz
sudo make install
A tarball of a MySQL release must be available to create the sandbox
MySQL environment. The release should match the installed version of
MySQL. The full path to the file should be used.
The replicator deployment should already be installed. The master should
OFFLINE, but the command can
place the replicator offline automatically as part of the provisioning
Once these prerequisites have been met, the basic method of executing the
command is to specify the location of the Tungsten Replicator tarball, MySQL
tarball and the databases that you want to provision:
NOTE >>The THL has been provisioned to mysql-bin.000025:493 on host1:3306
The command reports the MySQL binary log point and host on which the THL has
been provisioned. Put the Tungsten Replicator back online from the reported
trepctl online -from-event
The Tungsten Replicator will start extracting from that position and continue
with any additional changes. Check all slaves to be sure they are online.
The slaves services will process all extracted entries.