问题标签 [mysql-loadfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2790 浏览

mysql - 无法让 load_file() 在 mysql 中工作

我现在已经努力了 2 个晚上才能让 load_file() 工作,但结果为 NULL。我运行版本“5.6.19-0ubuntu0.14.04.1”。

例子:

文件权限:

检查:

  • MySql 已执行,甚至拥有该目录
  • mysql ows文件
  • 数据库用户 = 根
  • 文件大小 < max_allowed_pa​​ckets
  • 设置了安全文件私有
  • 我没有apparmor运行

如果不设置secure-file-priv,它可以毫不费力地读取/etc/passwd 等非重要数据:P。我也可以从“/”导入,但无处可去。设置secure-file-priv时,我只能从“/”让它工作!

相同的文件,没有安全文件私有集:

有任何想法吗?

0 投票
1 回答
1522 浏览

mysql - MySql LOAD_FILE 奇怪的权限问题?

我在工作中管理一个网站,该网站是SQL注入攻击的受害者。通过检查日志,攻击者似乎使用了文件读取选项并从服务器获取了一堆配置文件,因为我们的 Web 开发人员马虎并使用 root mysql 帐户进行连接(具有 FILE 权限)。sqlmap

这是我试图理解的奇怪的部分。这些文件被读取了——我知道它们被读取了——因为攻击者随后在其中一个文件中使用了密码来进行一些系统渗透。查看日志,他首先抓取了一个index.php,其中引用了 config.php和其他一些文件。他们都成为了目标。

为了加强安全性,我抓取了 sqlmap 并点击了我们的服务器,在弄清楚它是如何工作的之后,我能够抓取文件。

我们的 SQL 服务器不是面向外部的,因此攻击者无法尝试此操作。这是奇怪的部分:

MySQL server我从我的桌面连接到我们的,并尝试选择LOAD_FILE以及LOAD DATA INFILE into TABLE.

其中一些工作。例如,select LOAD_FILE('/etc/passwd')返回/etc/passwd.

但并非所有人都有效。

select LOAD_FILE('/var/www/site_name/index.php') 返回 NULL

LOAD DATA INFILE '/var/www/site_name/index.php' INTO temp; 回来:

错误 29 (HY000): 找不到文件 '/var/www/site_name/index.php' (Errcode: 13)

什么?文件未找到?嗯?

所以我对同一个文件运行了 sqlmap 并下载了它。

我跑sqlmap了,-v 6所以我可以看到一切 - 它正在使用 LOAD_FILE 来获取文件。

为什么注入攻击中的 LOAD_FILE 会起作用,但从 mysql 客户端命令行加载文件返回 NULL 或找不到文件?但仅适用于某些文件?/etc/passwd 和 /etc/hosts 是可读的。

有什么线索吗?

0 投票
2 回答
1315 浏览

php - 无法获取 'var/lib/mysql/ 的统计信息 (Errcode:2)

这个带有路径的代码在本地主机中对我来说很好

现在,当我在 centos 服务器上运行时,我给出了类似的路径

Cant get stat of 'var/lib/mysql/var/www/html/tool/file.csv (Errcode:2)

现在当我使用LOAD DATA LOCAL INFILE 'var/www/html/tool它时

cant find file 'var/www/html/file.scv

我的网络根文件夹在/var/www/html/tool 其中,我通过以下方式访问它xxx.xxx.xx.xx/tool

每次将csv 文件上传到服务器位置/var/www/html/toolOWNER as apache-ApacheRead and Write

Group as apache having only Read Only permisssion

apache as group我试过像 chmod 777 -R /var/www/html / tool 但文件仍在上传apache-Apache as Owner

是的,我看过与此类似的另一篇文章并使用了LOAD DATA LOCAL INFILE 请建议

0 投票
1 回答
1070 浏览

php - MySQL 加载文件和撇号

我有一个文本文件,其中包含由 | 分隔的 2 个字段 并按新行记录

我有一个带有 3 列(id、name、val)//id 自动增量的 MySql 表...

所以我想使用 mysql 加载文件功能将值插入到 name 和 val 但我的主要问题是加载文件时的撇号...

通过加载文件查询时如何添加?

0 投票
3 回答
37579 浏览

mysql - 如何仅使用 sql 语法(不使用 PHP)在 mysql 表中的 blob 中插入图像?

  1. 嗨,我是 SQL 新手,我想将图像存储在数据库中。我已经创建了一个具有 blob 数据类型的列,并尝试执行此处给出的以下语句

这给出了错误

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以C:\Users\name\Desktop\New folder\a.png在第 4 行的 '( Bulk , SINGLE_BLOB) AS BLOB'附近使用正确的语法

我还尝试了此处给出的以下代码

这给出了错误

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'table abc( img) values('C:\Users\adity\Desktop\New folder\an.jpg') where id=1'附近使用正确的语法

所以请建议我如何在不使用 php 等的情况下将图像存储在 blob 中,而只需使用简单的 sql 插入语句。我正在为我的数据库使用 wamp 服务器。

  1. 我知道我应该对图像使用文件系统而不是使用数据库。但是文件系统实际上是什么意思。它是指一个文件或图像托管站点,其地址将存储在数据库中。
0 投票
1 回答
85 浏览

mysql - Errcode: 13 when loading data into SQL Database

Attempting to load a file into the DB.

The emails.tsv file has 3 columns, while the temporary table I made has 4. I'm not sure if this is correct syntax; I included a 4th column to have an id primary key column.

I get the following error when I run this code:

0 投票
2 回答
129 浏览

mysql - MySQL 加载忽略一些记录

我有这个包含大约 16.916 条记录的CSV 文件。当我将它加载到 MySQL 中时,它只检测到 15.945 条记录。这就是 MySQL 所说的:

有人能告诉我为什么 MySQL 会忽略一些记录以及如何解决这个问题吗?

我使用 LOAD 函数加载文件,如下所示:

这就是我使用的数据库模式:

更新:

我已经检查了第一条和最后一条记录,但两者都存在。也确实存在具有很多这样的空值的记录:

更新 2:

这些是我发现的数据库中缺少的记录:

似乎几乎所有osm_id以 a 开头的记录4都丢失了。那很奇怪。

0 投票
0 回答
1065 浏览

mysql - MySQL:从 sql 脚本文件在 Transaction 中执行 LOAD 语句

我想从一些 csv 文件中加载我的表。我希望所有数据导入都是事务绑定的,即,如果任何数据导入发生错误,其他表中加载的所有记录也会回滚。加载语句从如下所示的 sql 文件执行:

但是,只要在某个表的 LOAD 语句中发生错误,则只会对该表进行回滚,而其他表中的数据将保持提交状态。请建议如何使此交易绑定..

0 投票
0 回答
74 浏览

mysql - 其他语言(中文)字符变为??????? Mysql 加载查询

我有一个csv文件,其中几列包含中文单词,我正在使用 Query 在 Mysql Table 中上传 csv 文件:

上传后,汉字正在变成????????表格mysql。为什么会这样?有什么解决办法吗?

谢谢:)

0 投票
1 回答
5315 浏览

mysql - 第 1 行的错误 1083 (42000):字段分隔符参数不是使用 mysql LOAD 时所期望的

我正在尝试通过 shell 提示使用 mysql 加载。我想将 CSV 文件直接加载到数据库中。

mysql -u root -p -h mysql -e "LOAD DATA INFILE 'Subscriber.csv' INTO TABLE temp_data FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'IGNORE 1 ROWS" psi

我收到错误ERROR 1083 (42000) at line 1: Field separator argument is not what is expected

下面是我的 CSV 文件

misdn,city,age,gender 771XXXXXX,MUTOKO,24,MALE 771XXXXXX,MUTOKO,32,MALE 771XXXXXX,MUTOKO,37,Male 771XXXXXX,MUTOKO,36,MALE 771XXXXXX,MUTOKO,25,Male 771XXXXXX,HWEDZA,26,MALE 771XXXXXX,HWEDZA,33,MALE 771XXXXXX,MUTOKO,26,MALE 771XXXXXX,HWEDZA,34,MALE 771XXXXXX,HWEDZA,34,MALE 771XXXXXX,MUTOKO,21,MALE 771XXXXXX,MUTOKO,22,MALE 771XXXXXX,MUTOKO,30,MALE 771XXXXXX,MUTOKO,28,Male 771XXXXXX,MUTOKO,33,Male 771XXXXXX,MUTOKO,23,Male 771XXXXXX,ZVISHAVANE,31,Male 771XXXXXX,ZVISHAVANE,39,MALE

请帮忙,我做错了什么?