解决 Mysql outfile 的报错问题!

解决 Mysql outfile 的报错问题!

一、故障现象:

Mysql可使用 into outfile 参数把表中数据导出到文件,

例如可用以下命令把 test 表的数据导出到 test.txt

SELECT * FROM newdb.test INTO OUTFILE 'test.txt';

以上命令在mysql5.6下运行没有问题,但在mysql5.7下运行则出现了以下错误

'ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv 
option so it cannot execute this statement' 

二、查看故障点:

查看官方文档,secure_file_priv参数 用于限制LOAD DATA, SELECT …OUTFILE,

LOAD_FILE()传到哪个指定目录。

secure_file_priv 为 'NULL' 时,表示限制mysqld不允许导入或导出。
secure_file_priv 为 '/tmp' 时,表示限制mysqld只能在/tmp目录中执行导入导出;
secure_file_priv '没有值'时,表示不限制mysqld在任意目录的导入导出。 

三、核实故障点:

查看 secure_file_priv 的值,默认为NULL,表示限制不能导入导出。

mysql> show global variables like '%secure_file_priv%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_file_priv | NULL |
+------------------+-------+
1 row in set (0.00 sec) 

因为 secure_file_priv 参数是只读参数,'不能使用set global命令修改'。

mysql> # set global secure_file_priv='';
'ERROR 1238 (HY000): Variable 'secure_file_priv' is a read only variable'

四、解决方法:

打开my.cnf ,加入以下语句后重启mysql。

# vim /etc/my.cnf
'secure_file_priv=''' 

查看secure_file_priv修改后的值

mysql> show global variables like '%secure_file_priv%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_file_priv | |
+------------------+-------+
1 row in set (0.00 sec)

五、查看成果:

修改后再次执行,成功导出。

mysql> SELECT * FROM newdb.test INTO OUTFILE 'test.txt';
1 queries executed, 1 success, 0 errors, 0 warnings 
查询:select * from newdb.test into outfile 'test.txt'
共 2 行受到影响
执行耗时 : 0.044 sec
传送时间 : 0 sec
总耗时 : 0.045 sec

注意,导出文件,在 /www/server/data/newdb/test.txt

基础普及:什么是网站的域名、服务器和程序

在搜索引擎中搜索“今日头条”如下图所示,“今日头条官网”下方显示“www.toutiao.com”就是该网站的域名。

网络安全漫谈及实战摘要(转载)

前言在最近一周内,我收到了安全圈子里面小伙伴的私信,说他们非常喜欢信息安全,但是看了我之前发布文章,觉得有点难度,还涉及到C#编程,不好理解,希望我能给些基础方面的文章。

一份值得收藏的 MySQL 高性能优化规范建议

数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割。所有数据库对象名称禁止使用 MySQL 保留关键字。

血塞通、炎琥宁等41批不合格药品遭曝光

江苏省食品药品监督管理局江苏省年第期药品质量公告不符合规定化学药、抗生素、生化药、中成药链接:中国最全医药代理商集中地本平台不对转载之文章所包含内容的准确性、可靠性或者完整性提供任何明示或暗示的保证,不对文章观点负责。点阅读原文获取大数据,注册后将每周收到行业动态数据。

Java开发者必知必会的20种常用类库和API

《Effective Java》的作者Joshua Bloch曾经说过:“建议使用现有的API来开发,而不是重复造轮子”。