【问题标题】:geodjango with mysql getting error django.db.utils.OperationalError: (1045, "Access denied for usergeodjango 和 mysql 出现错误 django.db.utils.OperationalError: (1045, "Access denied for user
【发布时间】:2023-06-09 01:12:01
【问题描述】:

seetings.py

DATABASES = {
'default': {
    'ENGINE':'django.db.backends.mysql','django.contrib.gis.db.backends.mysql'
    'OPTIONS': {
        'read_default_file': os.path.join(PROJECT_ROOT,"my.cnf"),
    },
 },

}

没有 'django.contrib.gis.db.backends.mysql' 代码工作正常,但由于我想使用 mysql 使用 django 地理定位,我添加了这个(如果我不添加,我得到 ​​p>

“databaseoperations”对象没有属性“geo_db_type”

错误),现在我得到了

django.db.utils.OperationalError: (1045, "Access denied for user ---" 错误,尽管用户拥有完全权限。

请帮助我是 django 的新手

谢谢

【问题讨论】:

    标签: mysql django geodjango


    【解决方案1】:

    您似乎尝试在设置中设置多个数据库后端,但您只需要一个:django.contrib.gis.db.backends.mysql 适用于空间和非空间用例。

    所以你的settings.py 应该看起来像这样:

    DATABASES = {
        'default': {
            'ENGINE': 'django.contrib.gis.db.backends.mysql',
            'OPTIONS': {
                'read_default_file': os.path.join(PROJECT_ROOT,"my.cnf"),
            },
        },
    }
    

    【讨论】: