From 320fe64ba8272aab7538297123659ccc39636def Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Wed, 15 Feb 2017 18:19:43 -0600 Subject: [PATCH] Use --single-transaction for mysqldump InnoDB is an MVCC storage engine. This means it does not need to lock tables in order to do a consistent read of data. Add --single-transaction to mysqldump invocations to enable this behavior and stop locking the tables. Downsides to this - changes made to MyISAM tables may not be consistent (but for the love of all that is holy we should be storing nothing in MyISAM and neither should anyone else) and DDL commands will not be allowed during the backup. Change-Id: If2ea9e5a25a3cfe30c16cc646463afbd3b2a5ab5 --- manifests/backup.pp | 2 +- manifests/backup_remote.pp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/backup.pp b/manifests/backup.pp index b5107ea..5f6f7c8 100644 --- a/manifests/backup.pp +++ b/manifests/backup.pp @@ -37,7 +37,7 @@ define mysql_backup::backup ( cron { "${name}-backup": ensure => present, - command => "/usr/bin/mysqldump --defaults-file=${defaults_file} --opt --ignore-table mysql.event --all-databases | gzip -9 > ${dest_dir}/${name}.sql.gz", + command => "/usr/bin/mysqldump --defaults-file=${defaults_file} --opt --ignore-table mysql.event --all-databases --single-transaction | gzip -9 > ${dest_dir}/${name}.sql.gz", minute => $minute, hour => $hour, weekday => $day, diff --git a/manifests/backup_remote.pp b/manifests/backup_remote.pp index 839b371..d0cf414 100644 --- a/manifests/backup_remote.pp +++ b/manifests/backup_remote.pp @@ -47,7 +47,7 @@ define mysql_backup::backup_remote ( cron { "${name}-backup": ensure => present, - command => "/usr/bin/mysqldump --defaults-file=${defaults_file} --opt --ignore-table mysql.event --all-databases | gzip -9 > ${dest_dir}/${name}.sql.gz", + command => "/usr/bin/mysqldump --defaults-file=${defaults_file} --opt --ignore-table mysql.event --all-databases --single-transaction | gzip -9 > ${dest_dir}/${name}.sql.gz", minute => $minute, hour => $hour, weekday => $day,