从CSV文件往数据库导入时,报错 java.sql.SQLException: Access denied for user ‘dev‘@‘%‘ (using password: YES)

功能本来都正常运行,换了个服务器之后,往数据库里导数据时就出现这个错误,

意思是权限不够

执行语句:

LOAD DATA INFILE 。。。。

【1】Mysql命令load data infile 执行权限问题

工作中,经常会遇到往线上环境mysql数据库批量导入源数据的场景。

针对这个场景问题,mysql有一个很高效的命令:load data infile

通过load data infile命令将data_file文件数据导入表中。

当然,因为mysql数据库权限限制的问题,分为以下几种情况:

(1)root用户(特指mysql的root,非Linux系统的root)

在mysql server部署机器通过load data infile命令导入数据时,只要文件路径指定正确,一般不会有问题。


(2)非root用户在mysql server部署机器通过load data infile命令导入数据时,报错:

ERROR 1045 (28000): Access denied for user 'xxx'@'xxx' (using password: YES)

这个错误一般是因为非root用户没有FILE Privilege权限,

解决方案:命令加local参数。用load data local infile 'filename' into table 来导入数据

你可能感兴趣的:(mysql,java,mybatis,开发语言)