mysqldump 参数--single-transaction

其实很简单,single-transaction可以让mysqldump 的时候不锁表。但是他有3个前提

  1. innodb的引擎
  2. 不能在执行的同时,有其他alter table ,drop table,rename table,truncate table的操作。
  3. 隔离级别 必须是REPEATABLE READ ,很多公司都会修改这个隔离级别的,比如阿里云的rds ,默认隔离级别是READ-COMMITTED

下面附上 mysqldump --help的 内容,和mysql 官网上的内容:

--single-transaction
Creates a consistent snapshot by dumping all tables in a
single transaction. Works ONLY for tables stored in
storage engines which support multiversioning (currently
only InnoDB does); the dump is NOT guaranteed to be
consistent for other storage engines. While a
--single-transaction dump is in process, to ensure a
valid dump file (correct table contents and binary log
position), no other connection should use the following
statements: ALTER TABLE, DROP TABLE, RENAME TABLE,
TRUNCATE TABLE, as consistent snapshot is not isolated
from them. Option automatically turns off --lock-tables.

  • --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 TABLECREATE TABLEDROP TABLERENAME TABLETRUNCATE 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 TABLEScauses any pending transactions to be committed implicitly.

    This option is not supported for MySQL Cluster tables; the results cannot be guaranteed to be consistent due to the fact that the NDBCLUSTER storage engine supports only the READ_COMMITTED transaction isolation level. You should always use NDB backup and restore instead.

    To dump large tables, combine the --single-transaction option with the --quick option.

mysqldump 参数--single-transaction

时间: 2024-08-29 06:55:54

mysqldump 参数--single-transaction的相关文章

mysqldump 参数

我 mysqldump  Ver 10.13 Distrib 5.5.32, for Linux (x86_64) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of thei

mysqldump参数详细说明

Mysqldump参数大全 1.mysqldump备份: mysqldump -u用户名 -p密码 -h主机 数据库 -w "sql条件" --lock-all-tables > 路径 2.mysqldump还原: mysqldump -u用户名 -p密码 -h主机 数据库 < 路径 mysql -uroot -p123456 app < /root/app_bak.sql 3.还原数据库有两种方法: ①/usr/local/mysql/bin/mysql -uroo

Mysqldump参数大全 这 些参数 不同于 mysql 的那些参数(下边文章开头有链接) :2 种类型的参数含义是不一样的

Mysqldump参数大全  这 些参数 不同于 mysql 的那些参数  :2 种类型的参数含义是不一样的 Mysqldump参数大全(参数来源于mysql5.5.19源码) 参数 参数说明 --all-databases , -A 导出全部数据库. mysqldump -uroot -p --all-databases --all-tablespaces , -Y 导出全部表空间. mysqldump -uroot -p --all-databases --all-tablespaces -

Mysqldump 参数详解(全)

Mysqldump 参数详解(全) http://www.open-open.com/lib/view/open1358172843762.html

Mysqldump参数大全

Mysqldump参数大全(参数来源于mysql5.5.19源码) 参数 参数说明 --all-databases , -A 导出全部数据库. mysqldump -uroot -p --all-databases --all-tablespaces , -Y 导出全部表空间. mysqldump -uroot -p --all-databases --all-tablespaces --no-tablespaces , -y 不导出任何表空间信息. mysqldump -uroot -p --

深入理解mysqldump参数 --single-transaction --lock-all-tables

在mysqldump过程中,之前其实一直不是很理解为什么加了--single-transaction就能保证innodb的数据是完全一致的,而myisam引擎无法保证,必须加--lock-all-tables,前段时间抽空详细地查看了整个mysqldump过程. 理解master-data和--dump-slave --master-data=2表示在dump过程中记录主库的binlog和pos点,并在dump文件中注释掉这一行: --master-data=1表示在dump过程中记录主库的bi

Mysqldump参数大全(转)

参数 参数说明 --all-databases  , -A 导出全部数据库. mysqldump  -uroot -p --all-databases --all-tablespaces  , -Y 导出全部表空间. mysqldump  -uroot -p --all-databases --all-tablespaces --no-tablespaces  , -y 不导出任何表空间信息. mysqldump  -uroot -p --all-databases --no-tablespac

Mysqldump 参数大全

--all-databases  , -A 导出全部数据库. mysqldump  -uroot -p --all-databases --all-tablespaces  , -Y 导出全部表空间. mysqldump  -uroot -p --all-databases --all-tablespaces --no-tablespaces  , -y 不导出任何表空间信息. mysqldump  -uroot -p --all-databases --no-tablespaces --add

Mysqldump参数大全(参数来源于mysql5.5.19源码)

参数 参数说明 --all-databases  , -A 导出全部数据库. mysqldump  -uroot -p --all-databases --all-tablespaces  , -Y 导出全部表空间. mysqldump  -uroot -p --all-databases --all-tablespaces --no-tablespaces  , -y 不导出任何表空间信息. mysqldump  -uroot -p --all-databases --no-tablespac