首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql无法在同一目录中找到文件?

问MySql无法在同一目录中找到文件?
EN

Stack Overflow用户
提问于 2016-08-29 07:04:41
回答 1查看 55关注 0票数 1

我正在尝试使用以下代码将图片加载到mysql数据库中:

代码语言:javascript
复制
cursor, db = get_db()
cursor.execute("UPDATE People SET photo = LOAD_FILE(\'myphoto.jpg\')")
cursor.close()
db.commit()
db.close()

我已经能够将照片设置为其他值,方法是将LOAD_FILE短语替换为更简单的值,因此我知道问题源于加载图片。同时,myphoto.jpg位于运行代码的目录中。MySql执行这些命令时不会出错,但实际上不会将图片放入数据库中。可能会出什么问题,我该如何修复它?

操作系统为linux。

EN

回答 1

Stack Overflow用户

发布于 2016-08-29 07:31:09

检查文件是否已加载到mysql中。

代码语言:javascript
复制
select load_file('/currentdir/file.blob')
+-----------------------------+
| load_file('currentdir/file.blob') |
+-----------------------------+
| NULL                        |
+-----------------------------+

这可能是由于用户权限的原因。

代码语言:javascript
复制
sudo chown mysql:mysql /currentdir/file.blob

我也读过here,说linux上有个bug,这个问题可能是因为apparmor,禁用它可能会解决这个问题,在ubuntu上执行这个/etc/init.d/apparmor stop。

其他可能的原因!!

  1. 检查路径
  2. 检查privileges
  3. Does函数返回NULL
  4. 尝试此query
  5. Is mysql实例现在在您的计算机上?

而且在linux中你也不需要放反斜杠,LOAD_FILE(\'myphoto.jpg\'),尝试不使用它们,LOAD_FILE('myphoto.jpg')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39196571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档