mysql包含二进制字段的数据导出导入及可能遇到的问题

原创
小哥 3年前 (2023-05-22) 阅读数 9 #大杂烩

目的 :将一个mysql表中的一部分数据从服务器导入到另一台包含二进制字段的服务器

操作过程

以下“本地”是指目标服务器,“远程”是指源服务器。

1 本地命令行 登录到远程服务器

2 导出数据

mysql> select id, hex(data) into outfile d:/mydata.dat from mydb.mytable where id=123;

执行后 服务器上的相关目录 生成导出文件

3 传输数据文件 复制到本地服务器

4 本地命令 登录本地数据库

5 创建具有相同结构的数据表

6 导入数据

mysql> load data infile D:/mydata.dat into table test.mytable;

提示错误消息

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

因为mysql设置 secure-file-priv 禁止或限制目录导出和导入的参数

mysql> show variables like %secure%;

+--------------------------+------------------------------------------------+

| Variable_name            | Value                                          |

+--------------------------+------------------------------------------------+

| require_secure_transport | OFF                                            |

| secure_auth              | ON                                             |

| secure_file_priv         | C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\ |

+--------------------------+------------------------------------------------+

如果在此目录中看到导入和导出限制,请传输数据文件复制到该目录

7 再次导入

mysql> load data infile C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/mydata.dat into table test.mytable;

Query OK, 20 rows affected (0.59 sec)

Records: 20  Deleted: 0  Skipped: 0  Warnings: 0

有关导出和导入二进制字段数据的上一篇文章mysqldump方法文章

MySQL导出和导入包含二进制字段的数据

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除