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