mysql single_mysql dump --single transaction 命令

mysqldump :

--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.

创建一个一致性的快照通过dump 所有的表到一个单独的transaction.

只能用于支持多版本的(目前只有InnoDB)

对他的存储引擎 dump 是不能保证一直的。 当带上了 --single-transaction参数,

确保一个正确的dump 文件(正确的表内容和binary log 位置)

没有其他的连接来使用下面的语句;ALTER TABLE,DROP TABLE,RENAME TABLE ,TRUNCATE TABLE

[mysql@master ~]$ mysqldump  test t3 >t3.sql

mysql> insert into t3 values(25255,'a','a','20110101')

-> ; --HANG

默认锁表:

[mysql@master ~]$ mysqldump  --single-transaction  test t3 >t3.sql

mysql> insert into t3 values(25255,'a','a','20110101');

Query OK, 1 row affected (0.10 sec)

mysql> commit;

Query OK, 0 rows affected (0.00 sec)

---可以看到加了 --single-transaction 参数后就可以进行insert 操作

表是可以 update, insert, delete, select 表中的数据的,

只是不能 ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, 就是说锁是在表级别的,不能修改数据库表

的结构而已

[mysql@master ~]$ mysqldump  --single-transaction  test t3 >t3.sql

alter table t3  modify column name varchar(50); --此时HANG。

-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mysql dump是一种用于备份数据库的命令。通过使用mysqldump命令,可以将数据库的表结构和数据导出到一个文件中,以便在需要时进行恢复或迁移。\[1\] 常见的Mysql dump命令操作包括: - 导出数据库的表结构:`mysqldump -uuser -pdbpasswd -d --single-transaction dbname > db.sql;` - 导出数据库中某张表的结构:`mysqldump -uuser -pdbpasswd -d --single-transaction dbname table_name > db.sql;` - 导出数据库的所有表结构及表数据:`mysqldump -uuser -pdbpasswd --single-transaction dbname > db.sql;` - 导出数据库中某张表的结构及表数据:`mysqldump -uuser -pdbpasswd --single-transaction dbname table_name > db.sql;` - 批量导出数据库中多张表的结构及表数据:`mysqldump -uuser -pdbpasswd --single-transaction dbname table_name1 table_name2 table_name3 > db.sql;` - 批量导出数据库中多张表的结构:`mysqldump -uuser -pdbpasswd -d --single-transaction dbname table_name1 table_name2 table_name3 > db.sql;`\[2\] 另外,当备份大型数据库时,建议结合使用`--single-transaction`和`--quick`参数。`--quick`参数可以让mysqldump在备份过程中每次只取一行数据,而不是将所有行都缓存到内存中,这可以避免备份失败的内存限制问题。\[3\] #### 引用[.reference_title] - *1* [Mysql dump命令用法](https://blog.csdn.net/null_plus/article/details/125636925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [mysql系列-dump备份与导出](https://blog.csdn.net/weixin_38916435/article/details/118752494)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值