LOAD_FILE返回NULL [英] LOAD_FILE returns NULL

查看:555
本文介绍了LOAD_FILE返回NULL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将图像插入到我的MySQL服务器中.我已经做过一些研究,看来最好的方法是通过LOAD_FILE().但是,LOAD_FILE()始终返回null.我知道LOAD_FILE()有4个条件:

I am trying to insert an image into my MySQL server. I have done some research and it looks like the best way to do that is through LOAD_FILE(). However, LOAD_FILE() always returns null. I know there are 4 conditions for LOAD_FILE():

  1. 该文件必须位于服务器主机上
  2. 您必须指定文件的完整路径名,并且必须具有FILE特权.
  3. 该文件必须全部可读,并且其大小小于max_allowed_pa​​cket字节.
  4. 如果将secure_file_priv系统变量设置为非空目录名称,则要加载的文件必须位于该目录中.

我当前正在使用:

select LOAD_FILE('/Users/pricedb/Desktop/FolderName/imageName');

并返回NULL

我已经确认所有特权都已授予用户.该文件必须位于服务器主机上意味着什么?服务器正在我的本地计算机上运行,​​并且文件位于该计算机上,那是否表示我擅长于此?

I have confirmed that all privileges are granted to the user. What does it mean that the file must be located on the server host? The server is being run off my local computer and and file is located there, so does that mean I am good on that?

任何建议都将不胜感激,我不知道为什么它没有返回值.

Any advice would be greatly appreciated, I do not know why it's not returning a value.

推荐答案

我遇到了同样的问题.

发现要加载的文件必须位于mysql/mariadb有权读取的文件夹位置. 可以进行配置,但是 data 文件夹已经具有访问权限.

Fond out that the file to be loaded, needs to be in the folder location where mysql/mariadb has privileges to read it. It can be configured, BUT the data folder is already has access right.

就我而言,我将文件复制到数据文件夹:C:\ Program Files \ MariaDB 10.3 \ data 而且比起我用完整路径来称呼它:

In my case I copied my file to data folder: C:\Program Files\MariaDB 10.3\data And than I just called it with full path:

select load_file('C:\\Program Files\\MariaDB 10.3\\data\\test.txt');

这篇关于LOAD_FILE返回NULL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆