如何使用ssh通过mysql工作台导入数据?

um6iljoc  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(398)

我正在尝试通过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;
pb3skfrl

pb3skfrl1#

这是导致许可被拒绝的原因。您需要使用--local infile=1标志启动mysql客户机。

相关问题