在linux服务器上导入csv文件里的批量数据
在linux服务器上的mysql数据库里导入csv文件里的数据时出现以下问题。
问题1:直接导入执行(load data infile “/var/lib/mysql/jgdxhyddcsinfo.csv” into table jg_jgdx_place_info character set utf8 fields terminated by “,”;)语句时,如果报secure_file_priv相关的问题,(报错 ERROR 1290)
处理方式:
1、show variables like ‘%secure_file_priv%’—查看导入权限路径。如果是null。
2、修改/etc/my.cnf,添加secure_file_priv = ‘/’ ( '/'为所有的路径,为了安全,最好到指定路径)然后重启mysql (service mysqld restart),再次进入mysql,执行导入(注意数据库用户是否有导入权限 )。
问题2:ERROR 1300
处理方式:
1、将excel另存为csv,先别打开,手动重命名成txt,然后打开另存为utf-8,然后再重命名成csv。
问题3:ERROR 1262
处理方式:
1、show variables like ‘%sql_mode%’;
set sql_mode=‘no_auto_create_user,no_engine_substitution’ 。
执行导入命令。
load data infile “/var/lib/mysql/“文件名”.csv” into table “表名” character set utf8 fields terminated by “,”;