MySQL导出1000条以上数据方法,及出错提示 --secure-file-priv解决方法
1- MySQL导出1000条以上数据的脚本
先上MySQL语句,如果执行没报错,那就是前人设置好了,如果报错接着向下看哦
SELECT * FROM your_table INTO OUTFILE 'C:/Users/Administrator/Desktop/key /file.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
# your_table 你的表名称,其实就是你的查询语句,当然也可以有条件
# C:/Users/Administrator/Desktop/key /file.csv 你的文件导出路径
2- 如果报错“The MySQL server is running with the --secure-file-priv option so it cannot execute“,肯定是secure-file-priv设置问题了
先来看下这个secure-file-priv参数作用吧,它是用来限制LOAD DATA,SELECT..OUTFILE,andLOAD FILE()传到哪个指定目录的
- 当secure file priv的值为NULL,表示限制mysql 不允许导入导出
- 当secure_file_priv的值为具体目录,表示限制mysql 的导入|导出只能发生在设定目录下,目录必须存在,mysq!不会创建目录
- 当secure file priv的值没有具体值时,表示不对mysql 的导入导出做限制
3- 知道了问题,来看怎么解决
使用mysql命令查看secure-file-priv的具体设置,两种命令选一个。
show variables like 'secure-file-priv' show variables like %secure%
- 若secure-file-priv的value值为空,则表示未进行设置,那就不能导出了
- 若secure-file-priv的value值不为空,但是和你设置的导出文件路径不一致,那就说明前人已经设置,只能导出到特定位置了,这个好办,修改你的导出文件路径或mysql默认导出文件路径就好
下面就是怎么设置默认导出文件路径了
在mysql安装路径下,寻找my.ini文件,用notepad++打开后在[mysqld]下添加脚本后保存。 注:可以按需要进行设置路径哦。
secure-file-priv=’C:/Users/Administrator/Desktop/key’
在计算机管理服务中重启mysql服务,当然也可以用命令
net stop mysql net start mysql
mysql启动成功就大功搞成了, 再次执行“MySQL导出1000条以上数据方法的脚本”就可以了。
注意事项:
secure-file-priv在设置路径时使用的是“/”,如果在设置时或者sql脚本中斜杠方向反了,也是会报“The MySQL server is running with the --secure-file-priv option so it cannot execute”错误的。