开发者社区> 问答> 正文

访问被拒绝的错误,而我应该在pythonanywhere.com上拥有所有特权

我正在学习MySQL,并通过它们提供的控制台在pythonanywhere.com上使用它。

我能够创建一些架构,但是当我尝试将数据加载到数据库中时,出现了拒绝访问错误。

我使用以下代码:

LOAD DATA INFILE '/home/username/data.tsv' INTO TABLE table FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'; 并得到此错误:

错误1045(28000):用户'username'@'%'的访问被拒绝(使用密码:是)

在搜寻解决方案时,我遇到了其他(但类似)的错误,如下所示:

SELECT user, host FROM mysql.user 出现以下错误:

错误1142(42000):表'user'的用户'username'@'10.0.0.44'的SELECT命令被拒绝

有人可以帮助我解决/告诉我我做错了什么吗?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-15 15:34:11 842 0
1 条回答
写回答
取消 提交回答
  • pythonanywhere.com上有一个帮助页面专门处理此问题。有两件事要牢记。

    默认情况下,较新版本的MySQL客户端阻止加载数据。您需要将其作为命令行开关传递。如果打开Bash控制台,则可以手动连接到数据库,如下所示:

    mysql -h myusername.mysql.pythonanywhere-services.com -u myusername 'myusername$default' -p --local-infile=1 MySQL命令LOAD DATA INFILE“ foo.csv”尝试在运行数据库的计算机上加载文件foo.csv的内容。在PythonAnywhere上,MySQL服务器与运行代码的计算机位于另一台计算机上,因此文件不可用。相反,您需要通过添加额外的关键字LOCAL来告诉数据库从运行MySQL客户端的计算机上加载文件:

    LOAD DATA LOCAL INFILE "foo.csv"

    2019-11-15 15:34:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《用管控策略设定多账号组织全局访问边界》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载