Mysql mysqldump命令使用之 --single-transaction --hex-blob
2023-09-14 09:15:19 时间
--single-transaction
该参数通过在一个事务中导出所有表从而创建一个一致性的快照,当前版本的MySQL只可以对innodb 引擎保证一致性,导出过程中不会锁表其他引擎,如MyISAM 在导出期间会锁表为保证有效的dump文件,即正确的表内容和二进制日志位置,在导出的过程中不能有如下操作
-
ALTER TABLE
-
DROP TABLE
-
RENAME TABLE
-
TRUNCATE TABLE
如指定了 --lock-tables参数则会自动将其关闭,推荐在mysqldump中使用该参数
使用--single-transaction备份数据库
备份所有数据库
mysqldump -h127.0.0.1 -usystem -p123456 --single-transaction --set-gtid-purged=OFF --all-databases --master-data=2 --triggers --events --routines> /tmp/all_master.sql
备份test数据库
mysqldump -h127.0.0.1 -usystem -p123456 --single-transaction --set-gtid-purged=OFF --databases test --master-data=2 --triggers --events --routines> /tmp/test_all_master.sql
--hex-blob
该参数将下面数据类型的栏位的数据以十六进制的形式导出
- BINARY
- VARBINARY
- BLOB
- BIT
- 以及binary字符集的数据
其中MySQL的BLOB类型可以有如下类型
- tinyblob:仅255个字符
- blob:最大限制到65K字节
- mediumblob:限制到16M字节
- longblob:可达4GB
使用--hex-blob备份数据库
备份数据库
mysqldump -uroot -p --single-transaction --set-gtid-purged=OFF --databases test --hex-blob > /tmp/hex.sql
备份单表
mysqldump -uroot -p --single-transaction --set-gtid-purged=OFF --databases test --hex-blob --tables pictures > /tmp/hex.sql
该参数影响
内容比较
我们首先看使用该参数后mysqldump文件的内容
再看下未使用该参数后mysqldump的内容
其中未使用--hex-blob参数的文件乱码
导入比较
接下来我们测试导入后是否显示正常,经测试两者导入后都是正常的,图片可以显示出来
结论
经过实验发现无论加不加该参数都不影响导入后的效果
但为避免字符集转换或者二进制传输等问题造成的问题,还是建议加上
相关文章
- MySQL执行语句的正确姿势(mysql执行语句)
- MySQL数据行复制:一步步指南(mysql复制数据行)
- 开启MySQL服务:一个简单命令(启动mysql服务命令)
- MySQL中如何创建外键索引(mysql创建外键索引)
- 什么MySQL中添加索引的命令详解(mysql添加索引命令是)
- 如何设置MySQL表格显示的宽度(mysql显示宽度)
- 如何解决MySQL版本兼容性问题(mysql版本问题)
- Connecting to MySQL Database: A Guide on Establishing a Successful Connection(mysql数据库连接)
- MySQL如何取得今天的日期(mysql 今天的日期)
- MySQL客户端命令简介(mysql 客户端命令)
- MySQL无法响应:探索停止命令的奥秘(mysql 停止命令)
- 深入浅出MySQL探究CALL命令的输出特性(mysql中call输出)
- 使用cmd命令调入MySQL数据库(cmd调入mysql)
- 使用cmd命令查看MySQL字符集配置(cmd查看mysql编码)
- 使用CMD命令查询MySQL安装位置(cmd查找mysql位置)
- MySQL与ASCII基础字符集的默契链接(ascii mysql)
- APP直接访问MySQL快速便捷的解决方案(app直接mysql)
- MySQL反引号错误解决方法(mysql中反引号的错误)
- MySQL每秒读写次数超级迅速(mysql一秒 读写次数)
- MySQL离职了,它的替代品正在崛起(mysql不在之中)
- MySQL下载速度慢试试这些解决方法(mysql下载得很慢)