导出权限有问题的sql结果



导出sql结果时,我遇到mariadb的权限问题。

select * from referalList
INTO OUTFILE '/home/joe/testOutFileReferalList.csv';

SQL Error [1] [HY000]: (conn=63) Can't create/write to file '/home/joe/testOutFileReferalList.csv' (Errcode: 13 "Permission denied")

我使用DBeaver作为前端。但是,无论我如何登录,我都会得到与cli相同的结果:

sudo mysql-u root-psudo mysql-u joe-p马里亚德等

有没有苏多。。。

然后,在没有路径的情况下,sql运行将文件放入/var/lib/mysql/referals/(referrals是我的数据库的名称(。

select * from referalList
INTO OUTFILE 'testOutFileReferalList.csv';

它是用mysql:mysql权限创建的我必须更改我导出的每个SQL结果的权限。我如何才能获得成为我自己的权限,即joe:joe?我如何将文件导出到我喜欢的任何地方,比如我的主目录~?

此外,如果文件已经存在,有什么方法可以让mariadb覆盖它吗?

mariadb版本是服务器版本:10.6.5-MariaDB-1:10.6.5+maria~focusmariadb.org二进制分发我在Linux Ubuntu 20.04.4 上

谢谢,

SELECT INTO outfile通常用于将服务器上的表输出到文本文件。这是直接在服务器上完成的,这就是为什么运行服务器的用户必须对文件具有适当的访问权限。

在文本文件中在客户端输出表的最简单方法是使用命令行客户端:

$> mysql -ujoe -pjoe yourdb -e "SELECT * FROM referalList" > /home/joe/testOutFileReferalList.csv

相关内容

  • 没有找到相关文章

最新更新