我正在学习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
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"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。