如何使用SSH通过MySQL Workbench导入数据?

问题描述 投票:-1回答:1

我正在尝试通过SSH(我有一个付费帐户)将数据上传到我的MySQL数据库托管的PythonAnywhere服务器上。我在PythonAnywhere界面中有三个数据库(alter$defaultalter$ip_dataalter$visitor_data)。

使用在线指令(here)我可以使用MySQL Workbench通过SSH成功​​连接到服务器,并在模式窗口(Click here to view image of schemas list)中查看三个数据库。

我可以成功地将表添加到我选择的数据库中,但是当我尝试添加数据时,我得到了Error Code: 1045. Access denied for user 'alter'@'%' (using password: YES)

我试过排除故障:

对于SELECT user();,它返回[email protected]

对于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;
python mysql sql hosting pythonanywhere
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.