--single-transaction

--single-transaction

           This option 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
           BEGIN was issued without blocking any applications.

It's important to understand transactions first before being able to fully understand –single-transaction


START TRANSACTION statement creates a branch of the data. With this “branch” it then does a SELECT statement from this consistent data that no one else has the ability to write to. The main branch is still being written to but the data you have selected is not