1290 – The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
secure-file-priv特性
secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
ure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
如何查看secure-file-priv参数的值:
show global variables like '%secure%';
没有导出权限:
mysql> show global variables like '%secure%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_auth | OFF |
| secure_file_priv | |
+------------------+-------+
2 rows in set (0.00 sec)
有导出权限,导出路径需在/var/lib/mysql-files/下:
mysql> show global 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.09 sec)
MYSQL新特性secure_file_priv对读写文件的影响
此开关默认为NULL,即不允许导入导出。
解决问题:
windows下:
修改my.ini 在[mysqld]内加入secure_file_priv=
linux下:
修改my.cnf 在[mysqld]内加入secure_file_priv=
MYSQL新特性secure_file_priv对读写文件的影响
然后重启mysql,再查询secure_file_priv