我在pythonanywhere中部署了python程序。该程序应连接到MySQL。我设置了数据库,并在config.ini文件中配置了数据库设置,如下所示:
[mysql]
host =psedemo.mysql.pythonanywhere-services.com
database =psedemo$psedemo_test
user =psedemo
password =QAZwsx123
从外壳运行程序时,在数据库连接中出现以下错误:
"Exception - 1142 (42000): SELECT command denied to user 'psedemo'@'10.0.0.207' for table 'pseapp_osd_products'".
任何主意是什么问题? (我确定已创建数据库/表,并且我的设置也正确)
答案 0 :(得分:1)
在我刚刚回顾Pythonanywhere时,我正在改变答案。看起来您已经在其中创建了python应用,并且正在使用它们中的MySQL数据库。您的Pythonanywhere密码与MySQL密码不同。当您首次生成数据库时,他们会要求您为其创建密码,并提及该密码与您的Pythonanywhere密码不同。如果您忘记了密码,则可以在数据库页面中创建新密码。
在其用户界面中单击您的数据库名称以启动mysql控制台。检查以下命令。
SHOW GRANTS;
它很可能表明您的用户拥有所有格兰特。 现在,使用页面上的连接详细信息以及您创建的密码,然后尝试重新连接。 您还可以检查其帮助页面以连接到MySQL https://help.pythonanywhere.com/pages/UsingMySQL/
答案 1 :(得分:0)
尝试为您的用户使用user = "root"
答案 2 :(得分:0)
此错误的另一个来源可能是联接中的错字。查看一些讨论here,并检查您正在运行的查询是否正确。