mysqldump — A Database Backup Program Because  --lock-tables  locks tables for each database separately, this option does not guarantee that the tables in the dump file are logically consistent between databases. Tables in different databases may be dumped in completely different states. Some options, such as  --opt , automatically enable  --lock-tables . If you want to override this, use --skip-lock-tables  at the end of the option list. Enclose the  INSERT  statements for each dumped table within  SET autocommit = 0  and  COMMIT statements. Dump each table’s rows sorted by its primary key, or by its first unique index, if such an index exists. This is useful when dumping a  MyISAM  table to be loaded into an  InnoDB  table, but makes the dump operation take considerably longer. On Windows, the shared-memory name to use for connections made using shared memory to a local server. The default value is  MYSQL . The shared-memory name is case-sensitive. This option applies only if the server was started with the  shared_memory  system variable enabled to support shared-memory connections. 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. To dump large tables, combine the  --single-transaction  option with the  --quick  option. •The  --opt  option turns on several settings that work together to perform a fast dump operation. All of these settings are on by default, because  --opt  is on by default. Thus you rarely if ever specify  --opt . Instead, you can turn these settings off as a group by specifying  --skip-opt , the optionally re-enable certain settings by specifying the associated options later on the command line. 499 Option Groups • --single-transaction • --shared-memory-base-name= name • --order-by-primary • --no-autocommit