当前位置:   article > 正文

outfile mysql_解决 Mysql outfile 的报错问题!

mysql outfile

15d6ac6be834f40bd05e5bb467bdc6ed.png

一、故障现象:

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

例如可用以下命令把 test 表的数据导出到 test.txtSELECT * 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/569957
推荐阅读
相关标签
  

闽ICP备14008679号