首页

欢迎

 

Welcome

欢迎来到这里, 这是一个学习数学、讨论数学的网站.

转到问题

请输入问题号, 例如: 2512

IMAGINE, THINK, and DO
How to be a scientist, mathematician and an engineer, all in one?
--- S. Muthu Muthukrishnan

Local Notes

Local Notes 是一款 Windows 下的笔记系统.

Local Notes 下载

Sowya

Sowya 是一款运行于 Windows 下的计算软件.

详情

下载 Sowya.7z (包含最新版的 Sowya.exe and SowyaApp.exe)


注: 自 v0.550 开始, Calculator 更名为 Sowya. [Sowya] 是吴语中数学的发音, 可在 cn.bing.com/translator 中输入 Sowya, 听其英语发音或法语发音.





注册

欢迎注册, 您的参与将会促进数学交流. 注册

在注册之前, 或许您想先试用一下. 测试帐号: usertest 密码: usertest. 请不要更改密码.


我制作的 slides

Problem

随机显示问题

Problèmes d'affichage aléatoires

软件 >> MySQL
Questions in category: MySQL (MySQL).

使用 mysqldump.exe 备份 MySQL8.0 下面的样例数据库 sakila

Posted by haifeng on 2021-06-15 09:14:34 last update 2021-06-15 11:29:00 | Answers (0)


MySQL 8.0 示例数据库 sakila 中有一张表 address, 其中 location 属性是 geometry 类型. 在直接使用 mysqldump.exe 备份时, 比如 mysqldump.exe -uroot -p sakila > sakila.sql

所得到的 sakila.sql 文件中, 在插入 address 数据时, location 部分的数据是二进制类型

例如前三个数据为

INSERT INTO `address` VALUES (1,'47 MySakila Drive',NULL,'Alberta',300,'','',_binary '\0\0\0\0\0\0\0>\n2]c4\\�vۍ�\�H@','2014-09-25 14:30:27'),(2,'28 MySQL Boulevard',NULL,'QLD',576,'','',_binary '\0\0\0\0\0\0\0�\�߁$c@N\�P\"�;�','2014-09-25 14:30:09'),(3,'23 Workhaven Lane',NULL,'Alberta',300,'','14033335568',_binary '\0\0\0\0\0\0\0\�\�hc4\\�\�~p�\�H@','2014-09-25 14:30:27');

 

这在导入数据库时, 会发生错误. 提示

Error Code: 1416. Cannot get geometry object from data you send to the GEOMETRY field

 

 

现在加入 --hex-blob 选项

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" --hex-blob -uroot -p -P 3308 sakila > sakila_new.sql

 

如果要导入到低版本的MySQL 中, 比如 MySQL 5.7.23, 则建议将所得的 sakila_new.sql 中的 utf8mb4 改为 utf8,  校对字符集 utf8mb4_0900_ai_ci 改为 utf8_general_ci.

当然, 相应的, 首先在 MySQL 5.7.23 中建立数据库 sakila, 字符集使用 utf8, 校对字符集使用 utf8_general_ci.


附 mysqldump.exe 的基本使用方法:

Usage: mysqldump [OPTIONS] database [tables]

OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

 


References:

[1] mysql - Back up a table with a GEOMETRY column using mysqldump? - Stack Overflow

[2] MySQL Bugs: #43544: mysqldump should convert GEOMETRY columns to hex with --hex-blob option

[3] OGR2OGR Cheatsheet (bostongis.com)

[4] mysql设置了utf8mb4还是报错_升级MySQL 8.0的诡异故障,utf8mb4_0900_ai_ci是什么?_编程小族管的博客-CSDN博客