1、配置mysql数据库secure_file_priv参数的value:
参数含义:
secure_file_priv=null 不允许csv文件的导入导出 ;
secure_file_priv=xxx csv文件导入导出到某路径 ;
secure_file_priv=/ csv文件可导入到任意路径;
配置方法:
// 进入配置文件(进入管理员命令下的my.cnf文件)
#sudo vim /etc/my.cnf
//键盘敲击“i”进入插入模式;
//添加如下内容,这里以" / "为例;
secure_file_priv= "/"
//按esc键进入命令模式,输入:wq保存并退出管理员命令模式;
//重启mysql;
# sudo /usr/local/mysql/support-files/mysql.server restart
查看secure_file_priv参数的Vaule:
mysql>show variables like ‘%secure_file_priv%’;
secure_file_priv的value值修改成功。
2、配置mysql数据库local_infile参数的value:
配置方法:
mysql>set global local_infile=true;
查看local_infile参数的Vaule:
mysql>show variables like 'local_infile';
local_infile的value值修改成功。
3、退出mysql重新登陆
mysql>quit
Bye
$ /usr/local/mysql/bin/mysql -uroot -p
4、接下来将csv文件导入数据库:
mysql>load data local infile 'filename' into table tablename
mysql>fields terminated by ','
mysql>lines terminated by '\n';
执行第四步的时候出现报错:
ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
显示访问权限被限制,加载数据本地填充文件请求被拒绝。
解决方法:退出mysql,使用一下命令进入:
/usr/local/mysql/bin/mysql --local-infile=1 -u root -p
选择目标数据库,再进行导入就成功啦!
注意点:设置secure_file_priv参数后一定要重启mysql服务。