连接 Django Amazon Lightsail Mysql

Connect Django Amazon Lightsail Mysql

说明:我有 2 个 Amazon Lightsail 实例。一个有 MYSQL,另一个有 CentOs。我有我的应用程序 Django 和 apache mod_wsgi,用于使用来自亚马逊的端点将 Django(实例 1)连接到 Mysql(实例 2):

ls-846d543ff0bab456d8a9309bd9585f11072f.cqaexlou8v8h.us-east-1.rds.amazonaws.com

我得到这个错误:

(1045, u"Access denied for user 'toor'@'localhost' (using password: YES)")

我的设置:

DATABASES = {
    'default':{
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'my_db',
        'SERVER':'ls-846d543ff0bab456d8a9309bd9585f11072f.cqaexlou8v8h.us-east-1.rds.amazonaws.com',
        'PORT': '3306',
        'USER': 'toor',
        'PASSWORD': 'q1w2e3r4t5' ,
    }
}

我使用 mySQL Workbench 创建了一个用户,如下所示:

create user toor identified by 'q1w2e3r4t5';
grant all on my_db.* to 'toor'@'%';
flush privileges;

并尝试此代码:

grant all on my_db.* to toor@localhost identified by 'q1w2e3r4t5' with grant option;

我通过 Mysql Workbench 使用 instance2(mysql amazon Lightsail)

创建了这个用户

请有人建议..!!

MySQL运行在哪里:

Localhost 和 Django 一起? 您亲手构建并安装 MySQL 的实例? Lightsail 数据库实例?

我怀疑您的 'SERVER':'host_amazon' 参数不正确。正如我所期望的那样,它要么是 localhost,您自定义构建实例的内部 IP,要么是您的 Lightsail 数据库的端点(类似于:ls-7d2174226335104ebdb71cfebe89d1c8f060c799.cdekwlh0imih.us-west-2.rds.amazonaws.com

您是如何创建用户的?您连接到哪个服务器?

解决方案是: 将 SERVER 更改为 HOST: 在设置 Django 上只改变这个:

'SERVER':'my_server'

作者:

'HOST':'my_server'

很奇怪,但是通过这个更改我可以连接到我的服务器 mysql amazon。