-
9. mysqldump命令详解 Part 9 --hex-blob 参数的使用
tutorial9
-
-
Attachments
-
Changes
-
View Source
-
View
## 前情提要
实验环境:
- MySQL 8.0.19
- Redhat 7.4
前面我们建立了数据库并建立相关的对象
- 数据库
- 表
- 存储过程
- 函数
- 触发器
- 事件
今天的内容为--hex-blob 的使用
## 1. --hex-blob
[image:892 size:orig]
该参数将下面数据类型的栏位的数据以十六进制的形式导出
- BINARY
- VARBINARY
- BLOB
- BIT
- 以及binary字符集的数据
其中MySQL的BLOB类型可以有如下类型
- tinyblob:仅255个字符
- blob:最大限制到65K字节
- mediumblob:限制到16M字节
- longblob:可达4GB
## 2. 使用--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
```
## 3. 该参数影响
### 3.1 内容比较
我们首先看使用该参数后mysqldump文件的内容
[image:893 size:orig]
再看下未使用该参数后mysqldump的内容
[image:894 size:orig]
其中未使用--hex-blob参数的文件乱码
### 3.2 导入比较
接下来我们测试导入后是否显示正常
经测试两者导入后都是正常的,图片可以显示出来
[image:895 size:orig]
## 4.结论
经过实验发现无论加不加该参数都不影响导入后的效果
但为避免字符集转换或者二进制传输等问题造成的问题,还是建议加上