如何使用MySQL Workbench在MySQL数据库中存储文件?

时间:2017-08-24 07:59:44

标签: html mysql database mysql-workbench

我试图将.html文件存储在MySQL数据库中(使用MySQL Workbench)。目前我正在尝试load_file('filepath'),因此可以读取.html文件的内容并将其转换为字符串,该字符串将存储在数据库的表中。但问题是它似乎总是返回null,所以我无法检查它是否真的有效。

我知道传递load_file有4个标准可行,但我不知道必须执行哪些脚本才能授予权限。由于我试图将文件的内容转换为字符串,也许还有另一种方法可以更有效地将整个.html文件存储到数据库中,如果有,是否有人可以告诉我如何执行此操作?我的MySQL服务器的用户名为root,可以在Mac OS上运行。

2 个答案:

答案 0 :(得分:0)

load_file function说:

  

要使用此功能,文件必须位于服务器主机上,您必须指定文件的完整路径名,并且您必须具有FILE权限。该文件必须可由所有人读取,其大小必须小于max_allowed_pa​​cket字节。如果secure_file_priv系统变量设置为非空目录名,则要加载的文件必须位于该目录中。

因此,有很多条件可以检查您是否可以加载文件。首先检查您的用户是否具有FILE权限,以及MySQL服务器是否可以访问该文件。

答案 1 :(得分:0)

对于那些正在寻找的人来说,我就是这样做的。 我有一张桌子

CREATE TABLE `test` (
    `ID` int(11) DEFAULT NULL,
    `UPLOAD_FILE` mediumblob
);

我将文件smiley.jpg保存为

INSERT INTO test (`ID`, `UPLOAD_FILE`) VALUES ('1', LOAD_FILE('E:/smiley.jpg'));