编程笔记:Mac环境下,将csv文件导入mysql数据库中

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%’;

priv-success.png

secure_file_priv的value值修改成功。
2、配置mysql数据库local_infile参数的value:
配置方法:
mysql>set global local_infile=true;
查看local_infile参数的Vaule:
mysql>show variables like 'local_infile';
infile-success.png

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服务。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容