我有一个简单的shell脚本试图连接到数据库并试图通过脚本中的load infile语句将文本文件加载到数据库表中,并且脚本会抛出此错误
ERROR 1045 (28000) at line 6: Access denied for user 'user'@'%' (using password: YES)
脚本是
#!/bin/bash
#connect to the db
mysql -u bsm_admin -pbsmP1N1 -h ilcldbpbsm01 << EOFMYSQL
show databases;
use database;
show tables;
load data infile 'plugins.txt' into table jenkins fields terminated by ':' lines terminated by '\n';
EOFMYSQL
所以问题是其他状态工作正常,但错误发生在加载数据infile行。
我尝试检查用户是否具有对数据库的写权限,并且我能够通过命令行创建并向表中插入数据,所以我猜它不是权限问题。 此外,我没有创建用户,它已经创建。
答案 0 :(得分:0)
这是因为您没有FILE
权限。请参阅mysql manual
The FILE privilege gives you permission to read and write files on the server host using the LOAD DATA INFILE and SELECT ... INTO OUTFILE statements and the LOAD_FILE() function.