1

Tried to push the process to background on linux and also tried with -q command: mysqldump -q -u root -p root database_name > dumpName.sql doesn't seems to be useful.

Gani
  • 422
  • 1
  • 8
  • 16

1 Answers1

4

This is most likely to the fact, that mysqldump locks the table during backup.

When you're using InnoDB tables, you can use the --single-transaction parameter. Make sure to read the manual:

  • --single-transaction

This option sets the transaction isolation mode to REPEATABLE READ and sends a START TRANSACTION SQL statement to the server before dumping data. It is useful only with transactional tables such as InnoDB, because then it dumps the consistent state of the database at the time when START TRANSACTION was issued without blocking any applications.

When using this option, you should keep in mind that only InnoDB tables are dumped in a consistent state. For example, any MyISAM or MEMORY tables dumped while using this option may still change state.

While a --single-transaction dump is in process, to ensure a valid dump file (correct table contents and binary log coordinates), no other connection should use the following statements: ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE. A consistent read is not isolated from those statements, so use of them on a table to be dumped can cause the SELECT that is performed by mysqldump to retrieve the table contents to obtain incorrect contents or fail.

The --single-transaction option and the --lock-tables option are mutually exclusive because LOCK TABLES causes any pending transactions to be committed implicitly.

When you're using MyISAM tables (not recommended), you're pretty much doomed. Then the best option is, to set up replication to another host. To take backups, stop replication on the slave, start the slave again when mysqldump finished. (google this, I won't explain it here in detail).

Another possible solution would be to use xtrabackup from Percona. Again, google and read the whole manual! I can't stress this enough.

fancyPants
  • 50,732
  • 33
  • 89
  • 96