【问题标题】:MySQL connection error message after deployment in Pythonanywhere在 Pythonanywhere 中部署后的 MySQL 连接错误消息
【发布时间】:2019-10-19 08:48:46
【问题描述】:

我在 pythonanywhere 中部署了我的 python 程序。这个程序应该连接到 MySQL。我设置了数据库,并在 config.ini 文件中配置了我的数据库设置,如下所示:

[mysql]
host =psedemo.mysql.pythonanywhere-services.com
database =psedemo$psedemo_test
user =psedemo
password =QAZwsx123

当我从 shell 运行程序时,我在数据库连接中收到以下错误:

"Exception -  1142 (42000): SELECT command denied to user 'psedemo'@'10.0.0.207' for table 'pseapp_osd_products'". 

知道是什么问题吗? (我确定数据库/表已创建,我的设置也是正确的)

【问题讨论】:

    标签: python mysql pythonanywhere


    【解决方案1】:

    我刚刚在查看 Pythonanywhere 时正在更改我的答案。看起来您已经在那里创建了一个 python 应用程序,并且您正在使用它们的 MySQL 数据库。您的 Pythonanywhere 密码与 MySQL 密码不同。当您第一次生成数据库时,他们会要求您为其创建一个密码,并提到它与您的 Pythonanywhere 密码不同。您可以在数据库页面中创建一个新密码,以防忘记密码。

    在他们的 UI 中单击您的数据库名称以启动 mysql 控制台。检查以下命令。

    SHOW GRANTS;
    

    这很可能表明您的用户拥有所有 GRANTS。 现在,使用页面上的连接详细信息和您创建的密码,然后再次尝试连接。 您也可以查看他们的帮助页面以连接到 MySQL https://help.pythonanywhere.com/pages/UsingMySQL/

    【讨论】:

    • 我收到以下错误“ERROR 1044 (42000): Access denied for user 'psedemo'@'%' to database 'psedemo$psedemo_test'”
    • 更新了我的说明。希望这会有所帮助。
    【解决方案2】:

    尝试为您的用户使用user = "root"

    【讨论】:

    • 给出以下错误:“异常 - 2003:无法连接到 'root.mysql.pythonanywhere-services.com:3306' 上的 MySQL 服务器”
    • @Behzad 您可能需要将 SELECT 权限授予 MySQL 的“用户”
    • 当我写“显示来自 psedeomo$psedemo_test 的表格;”我收到以下错误“ERROR 1044 (42000): Access denied for user 'psedemo'@'%' to database 'psedeomo$psedemo_test'”我应该如何向用户授予权限?
    【解决方案3】:

    此错误的另一个来源可能是连接中的拼写错误。查看here 的一些讨论并检查您正在运行的查询是否正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-01
      • 2022-10-31
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 2011-08-28
      • 2016-09-01
      • 1970-01-01
      相关资源
      最近更新 更多