mysql--secure-file-priv及“ERROR 13 (HY000): Can't get stat of 问题macbook

生产环境

mac

问题描述一

很多时候我们需要将文件导入mysql数据库一般的命令是:

load data infile '/Users/user/Desktop/test.txt' into table train_data;

注意文件中的列和数据库列应当匹配!


但是这样话会报错:

--secure-file-priv

问题原因

原因是:mysql为了安全考虑需要指定一个文件夹去装载你要载入的文件,但是默认的mysql是没有指定的(不指定即为不允许载入文件。

解决方法

我们去修改一下mysql的配置:

cd /usr/local/mysql/support-files

这里面有一个my.cnf文件
我们编辑一下

sudo vi my.cnf //请确保您熟知vi编辑器基础操作命令

在末尾加上

secure_file_priv= "/Users/user/xxx" //引号内是你指定的文件夹,mysql将允许这个文件夹下的文件载入mysql

然后保存退出。
注意!这还没结束
这样改完后重启将仍没有效果。
您需要:将my.cnf的副本移动到/private/etc中

cp my.cnf /private/etc/my.cnf

下面重启mysql即可!
随后我们执行不再报

--secure-file-priv

但是会有另一个…

ERROR 13 (HY000): Can't get stat of 

问题原因

这是因为你需要指定该文件是“本地的”,要在原来的命令上加入local修饰,即采用一下命令:

load data local infile '/Users/frankdura/Desktop/test.txt' into table train_data;

你可能感兴趣的:(SQL)