Django 에서 DataBase 설정값에는 주소와 함께 사용자 정보가 포함되야 합니다. 하드코딩으로 모두 포함시키면 사용자 정보가 바뀔때 마다 Django 내용을 수정하는 것 보다는 파일을 활용하는 방법을 공식문서 에서도 안내하고 있습니다. Django Connecting to the database

# settings.py
DATABASES = {
  "default": {
    "ENGINE": "django.db.backends.mysql",
    "OPTIONS": {
      "read_default_file": "/path/to/my.cnf",
    },
  }
}

간단한 작업을 할 때에는 서비스 작업파일과 동일한 폴더에 mariadb.cnf 설정 파일을 놓은 상태에서 다음과 같이 설정을 하면 개발환경에서는 잘 동작했지만 배포시에는 해당 파일을 찾지 못하는 상황이 발생합니다.

# settings.py
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "OPTIONS": {
            "read_default_file": "my.cnf",
        },
    }
}

이를 해결하는 방법은 BASE_DIR 등으로 경로명을 확실하게 정의를 하면 문제가 해결 가능합니다.

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'OPTIONS': {
      'read_default_file': os.path.join(
        BASE_DIR, 'my.cnf'
      ), 
    }
    'CONN_MAX_AGE': 3600,
  }
}


참고사이트