一)问题描述:
当我们查看mysql中的 secure_file_priv参数 时,发现它的默认值是NULL,表示限制不能导入导出。
当我们要修改此参数时就会报错:
二)原因分析:
因为 secure_file_priv参数是一个只读参数,不能使用 set global命令 修改。
三)解决方法:
需要在my.ini配置文件中更改该参数,之后重启数据库。如果当前的mysql版本在my.ini配置文件中没有找到secure_file_priv参数,那么就打开my.cnf 或 my.ini并添加 secure_file_priv=''
语句后重启mysql。
此时再查看secure_file_priv的值就成了:
四)扩展知识:
secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()传到哪个指定目录:
secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。