我想在远程服务器mysql上导出一些数据,然后将其加载到客户端的mysql。
由于海量数据,我尝试使用INTO OUTFILE
来加快速度。
我尝试通过OUTFILE
将20GB表的数据导出到csv / tsv文件中:
SELECT * INTO OUTFILE "test.csv" FROM myTable
我处于chroot环境中,但是mysql以某种方式确实在/var/lib/mysql/myTable/test.csv
文件夹中的chroot环境中外部创建了文件。
如果我现在尝试通过scp将导出的csv文件复制到客户端,则没有任何效果,因为该文件不在chroot环境中(而是在“ real / var / lib / mysql / myTable”文件夹中) :
scp user@server:/var/lib/mysql/myTable/test.csv ./test.csv
上帝啊,为什么MySQL对于大型数据集如此痛苦?我想没有办法将这些东西放在正确的文件夹中,例如由于权限问题,/var/www/vhosts/my-chrooted-environment/my-folder/test.csv
(mysql无法写入另一个文件夹,即使secure_file_priv
被禁用)也是如此。即使目标文件夹已更改为777
...
有没有没有INTO OUTFILE语句的快速csv / tsv输出的方法?