【问题标题】:exporting sql results having trouble with permissions导出有权限问题的sql结果
【发布时间】:2021-12-31 16:21:14
【问题描述】:

我在导出 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 -p sudo mysql -u 乔 -p mariadb -u 乔 -p 等等

有或没有 sudo...

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

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

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

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

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

谢谢你,

【问题讨论】:

    标签: mysql permissions mariadb user-permissions


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      相关资源
      最近更新 更多