闲话mysql-5.7.18-winx64的secure_file_priv配置项

作者:WenWu_Both
出处:http://blog.csdn.net/wenwu_both/article/
版权:本文版权归作者和CSDN博客共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文链接;否则必究法律责任

由于最近的项目需要用到比较轻量级的数据库,一下子就想到了MySQL,寻思就装上先摸索一下。
我的安装环境:Windows 10系统 安装包:mysql-5.7.18-winx64
安装包为当前最新版本,安装过程在以前的基础上做了些变动,这里我参考了博客:MySQL v5.7.18 版本解压安装

安装过程,在初始化数据库这一步的时候,教程给的命令行为:

mysqld --initialize-insecure --user=mysql

当时就感觉这里是个坑,因为命令行里没有my.ini这个自定义配置项的信息,我寻思可能新版本比较高级吧,会自动检索配置文件,所以也就没放在心上,一路安装成功,并实现了python的调用。

然鹅。。。。。。

后面我需要将csv数据导入数据库:

load data
infile 'D:\\201701.csv'
into table underground
fields terminated by ','
(
编号,
票卡号,
交易日期,
交易时间,
票卡类型,
交易类型,
交易车站,
上次交易车站,
上次交易时间,
交易金额
);

执行完上述代码,直接给我报错:

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

网上一搜说这种情况是secure_file_priv的属性值为null造成的。
我们可以通过secure_file_priv 来完成对导入|导出的限制
secure_file_priv

  1、限制mysqld 不允许导入 | 导出

    mysqld –secure_file_prive=null

  2、限制mysqld 的导入 | 导出 只能发生在/tmp/目录下

    mysqld –secure_file_priv=/tmp/

  3、不对mysqld 的导入 | 导出做限制
   mysqld –secure_file_priv=‘’
那就好办了,直接修改my.ini配置文件,添加‘secure_file_priv=”’即可:

[client]
port=3308
default-character-set=utf8
[mysqld]
secure_file_priv=''
port=3308
character_set_server=utf8
basedir=D://mysql
datadir=D://mysql//data
[WinMySQLAdmin]
D://mysql//bin//mysqld.exe

重启服务之后,发现不行,难道是添加的命令行错了,看到网上很多版本:
a. secure_file_priv=”
b. secure_file_priv=
c. secure_file_priv=’\’

一一试过,都不行!!!
后续分析过很多其他的原因,都试过之后,还是不行。

mysql>show variables like '%secure%'

之后, secure_file_priv的值永远为null

简直快要崩溃了。。。

晚上快睡觉的时候,无意中看到一篇关于mysql-5.7.18-winx64的官方文档翻译的博客,才隐隐约约感觉导入导出受限应该是初始化那步没有指定配置文件路径造成的,马上行动,打开电脑,修改初始化代码:

mysqld.exe --defaults-file=D:/mysql/my.ini --initialize-insecure

查询secure_file_priv:

这里写图片描述

可以看到secure_file_priv的属性终于为空值了

执行数据导入:

这里写图片描述

成功!!!

内牛满面呀,这件事教育我们,有问题还是得多看看官方文档呀,不说了,我要好好学英语了,呜呜。。。。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值