Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1.23
-
Linux 3.16.0-4-amd64 (CentOS 7)
Description
Words in bold should be replaced with values from your environment.
Can't create a replication slave using "single-transaction":
mysqldump --all-databases --single-transaction --gtid --master-data -h MASTER.HOST -u USERNAME -p PASSWORD | mysql -h SLAVE.HOST -u USERNAME -p PASSWORD
After dump/import is finished, replication will be broken (err.: HA_ERR_FOUND_DUPP_KEY). It looks like later transaction are visible to mysqldump.
Steps to reproduce:
- prepare two MariaDB databases (one on host MASTER.HOST, second on SLAVE.HOST )
- create a test db and an example table (example_create_stmts.sql) on MASTER.HOST
- start writing to the example table (mysql_insert_loop.sh)
- try to create a mysql slave using the above mysqldump command
- after the command completes, issue "START SLAVE;" on the SLAVE.HOST
You will end up with a broken replication.
A work-around is to use --lock-all-tables instead of --single-transaction. This will block all writes to the MASTER.HOST until the dump/import is complete.