我的理解是,默认情况下,从 MariaDB
导出文件(例如 csv)仅限于指定的文件夹。因此,到目前为止,我一直在访问 tmp
文件夹中的导出文件。我想问一下是否有办法将其更改为另一个文件夹,即 /home/user/projects
?我正在使用 Raspbian Stretch 作为我的操作系统。作为我的 SQL 数据库
e 的根用户,我检查了我是否拥有完全授予权限。
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
但是,当我使用 查询时
MariaDB [mydatabase]> SELECT * from table1 into outfile '/home/user/projects/file1.csv';
,我得到这个错误:
错误 1 (HY000):无法创建/写入文件“/home/user/projects/file1.csv”(错误代码:13“权限被拒绝”)
,
我还能做些什么来将我的文件导出到我选择的文件夹中吗?
更新:到目前为止,我尝试了 chmod 755 和 777 方法,并在 SQL 客户端中创建了一个新用户,授予了全部权限和文件(然后以该用户身份登录以进行查询), 但没有成功。
最佳答案
我遇到了同样的问题,并设法通过将数据导出到:
'/var/tmp/file1.csv'
我在 mariadb 中是这样登录的:
sudo mysql -u root -p
希望对你有帮助!
关于mysql - 将 csv 文件从 mySQL (MariaDB) 导出到目标文件夹时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47978513/