从5.7.8开始,mysql提供mysqlpump工具。
这个工具目前还不能大面积使用,因为他要求服务端版本也要>=5.7.8。
但是这个工具真是极好的。
经过测试发现,该工具提供如下一个参数:
--hex-blob
该参数控制mysqlpump将:BINARY, VARBINARY, BLOB, BIT类型导出为十六进制。
而相比于mysqlpump,mysqldump就没有这个功能。
在面对BINARY, VARBINARY, BLOB, BIT类型时,mysqldump只能导出为“乱码”。
这个“乱码”在传输过程中,很容易发生改变。
导致最终恢复数据后,无法百分百保证数据的一致性。
比如,有表结构为:
mysql> desc t1;
+--------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| b_bit | bit(5) | YES | | NULL | |
| c_char | char(10) | YES | | NULL | |
| b_blob | blob | YES | | NULL | |
+--------+----------+------+-----+---------+---
这个工具目前还不能大面积使用,因为他要求服务端版本也要>=5.7.8。
但是这个工具真是极好的。
经过测试发现,该工具提供如下一个参数:
--hex-blob
该参数控制mysqlpump将:BINARY, VARBINARY, BLOB, BIT类型导出为十六进制。
而相比于mysqlpump,mysqldump就没有这个功能。
在面对BINARY, VARBINARY, BLOB, BIT类型时,mysqldump只能导出为“乱码”。
这个“乱码”在传输过程中,很容易发生改变。
导致最终恢复数据后,无法百分百保证数据的一致性。
比如,有表结构为:
mysql> desc t1;
+--------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| b_bit | bit(5) | YES | | NULL | |
| c_char | char(10) | YES | | NULL | |
| b_blob | blob | YES | | NULL | |
+--------+----------+------+-----+---------+---