首页 > 解决方案 > MySQL - chroot 环境中的 OUTFILE

问题描述

我想在远程服务器 mysql 上导出一些数据,然后将其加载到客户端的 mysql 中。由于数据量巨大,我尝试使用它INTO OUTFILE来加快速度。

我尝试通过以下方式将 20GB 表的数据导出到 csv / tsv 文件中OUTFILE

SELECT * INTO OUTFILE "test.csv" FROM myTable

我在一个 chrooted 环境中,但不知何故,mysql 确实在文件夹中的 chrooted 环境之外/var/lib/mysql/myTable/test.csv创建了文件。

如果我现在尝试通过 scp 将该导出的 csv 文件复制到客户端,则没有任何效果,因为该文件不在 chrooted 环境中(而是在“真正的 /var/lib/mysql/myTable”文件夹中): scp user@server:/var/lib/mysql/myTable/test.csv ./test.csv

看在上帝的份上,为什么 MySQL 对大数据集如此痛苦?我想由于权限问题,没有办法在正确的文件夹中获取东西,fe /var/www/vhosts/my-chrooted-environment/my-folder/test.csv(mysql无法写入另一个文件夹,甚至被禁用)。secure_file_priv即使目标文件夹已更改为777...

有没有办法在没有 INTO OUTFILE 语句的情况下获得快速的 csv/tsv 输出?

标签: mysqlcsvinto-outfile

解决方案


推荐阅读