我正在尝试通过ssh将数据上传到pythonanywhere服务器上的mysql数据库(我有一个付费帐户)。我有三个数据库( alter$default
, alter$ip_data
以及 alter$visitor_data
)在pythonanywhere接口中。
使用联机说明(此处),我可以使用mysql workbench通过ssh成功地连接到服务器,并在schemas窗口中查看三个数据库(单击此处查看schemas列表的图像)。
我可以成功地将表添加到我选择的数据库中,但是当我尝试添加数据时 Error Code: 1045. Access denied for user 'alter'@'%' (using password: YES)
.
我尝试过故障排除:
为了 SELECT user();
它回来了 alter@10.0.0.89
为了 SELECT current_user();
它回来了 alter@%
为了 SHOW GRANTS;
它返回:
GRANT USAGE ON *.* TO 'alter'@'%' IDENTIFIED BY PASSWORD <secret> WITH MAX_USER_CONNECTIONS 6
GRANT ALL PRIVILEGES ON 'alter$default' .* TO 'alter'@'%'
GRANT ALL PRIVILEGES ON 'alter$visitor_data' .* TO 'alter'@'%'
GRANT ALL PRIVILEGES ON 'alter$ip_data' .* TO 'alter'@'%'
看来我已经被授予了必要的特权,并且正确地连接到了mysql服务器——那么为什么它不让我写入数据库呢?.csv文件放错地方了吗?我不能使用“root”用户,因为那肯定是pythonanywhere管理员帐户?
额外详细信息:用于写入数据库的sql查询(返回“拒绝访问”)为:
LOAD DATA INFILE 'VALUES.CSV'
INTO TABLE ip_data_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 0 LINES;
1条答案
按热度按时间pb3skfrl1#
这是导致许可被拒绝的原因。您需要使用--local infile=1标志启动mysql客户机。