在MySQL服务器上导入csv文件时,提示如下错误:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
通过搜索引擎得知是MySQL的配置文件中,secure_file_priv 设置了指定目录,需要在指定的目录下进行数据导出。
mysql> show variables like '%secure%'; +--------------------------+-----------------------+ | Variable_name | Value | +--------------------------+-----------------------+ | require_secure_transport | OFF | | secure_auth | ON | | secure_file_priv | /var/lib/mysql-files/ | +--------------------------+-----------------------+ 3 rows in set (0.27 sec)
此时只需要将xxx.csv文件放入/var/lib/mysql-files/路径,即可使用load命令加载数据到表中了。
关于secure_file_priv 参数说明:
- 这个参数用来限制数据导入和导出操作的效果,例如执行LOAD DATA、SELECT … INTO OUTFILE语句和LOAD_FILE()函数。这些操作需要用户具有FILE权限。
- 如果这个参数为空,这个变量没有效果;
- 如果这个参数设为一个目录名,MySQL服务只允许在这个目录中执行文件的导入和导出操作。这个目录必须存在,MySQL服务不会创建它;
- 如果这个参数为NULL,MySQL服务会禁止导入和导出操作。这个参数在MySQL 5.7.6版本引入。