我在我的系统上以mysql root用户身份运行。
我可以选择load_file('/ etc / passwd');没问题
但是当我尝试选择load_file('/ var / lib / mysql / mysql')时;结果我得到NULL 为什么?这个文件很好,我可以把它作为root用它来查看mysql用户数据,为什么mysql不能load_file呢?它的权限是默认值:
-rw-rw---- 1 mysql mysql 444 2009-08-04 19:08 user.MYD
它的拥有者默认是用户mysql并且具有读权限,那么为什么mysql不喜欢load_file呢?是mysql以某种方式阻止访问此文件,如果是这样,我怎么能绕过它?在路径中执行mysql/../mysql
之类的操作不起作用,使用十六进制编码也不起作用?
答案 0 :(得分:0)
为了使加载文件有效,请确保为MySQL所有者和组授予所有权限。
chown mysql:mysql /var/lib/mysql/foo/*
chmod go+rw /var/lib/mysql/foo/*