• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

8-2, 8-3 에서 mysql 테이블 안만들어지는 오류

23.11.22 06:20 작성 조회수 120

0

선생님 안녕하세요

좋은 강의 감사합니다.

 

섹션 8-2, 8-3 에서

 

sql = '''

CREATE TABLE product (

PRODUCT_CODE VARCHAR(20) NOT NULL,

TITLE VARCHAR(200) NOT NULL,

ORI_PRICE INT,

DISCOUNT_PRICE INT,

DISCOUNT_PERCENT INT,

DELIVERY VARCHAR(2),

PRIMARY KEY(PRODUCT_CODE)

);

'''

로 테이블을 만들었는데도,

 

sql = '''

SHOW TABLES;

'''

cursor.execute(sql)

result = cursor.fetchone()

print(result)

db.close()

 

를 하면

 

('columns_priv',)

 

라는 것 밖에 안나옵니다.

 

이건 mysql에 있는 기본 db..? 같은데, product라는 테이블이 왜 안만들어지는 건지 추측되는 이유가 있으신가요...?

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

우선 mysql 접속시 어떤 데이터베이스에 접속하였는지 확인해보시면 좋을 것 같습니다. 해당 데이터베이스 내에 테이블을 만들 것이기 때문입니다. 다음으로 혹시 기존 mysql 데이터베이스 저장소가 볼륨으로 되어 있다면, 해당 볼륨을 삭제한 후 다시 한번 실행해보시면 좋을 것 같고요. 동일 데이터베이스 접속 후, 테이블 생성후 바로 테이블 리스트 확인 명령도 실행해봐서 현재 실행한 테이블 생성이 정상동작하였는지도 확인해보시면 좋을 것 같습니다. 이외에 도커와 관련한 부분은 다음과 같은 항목을 한번 검토해보시면 좋을 것 같습니다.

 

1. 도커 컨테이너의 MySQL 인스턴스: MySQL이 실행되고 있는 도커 컨테이너에 올바르게 접근하고 있는지 확인하세요. 도커 컨테이너 내부의 MySQL 서버에 접속하려면, 호스트, 포트, 사용자 이름 및 비밀번호가 올바르게 설정되어야 합니다.

2. 네트워크 설정: 도커 컨테이너가 올바른 네트워크 설정을 가지고 있는지 확인하세요. 파이썬 애플리케이션이 MySQL 컨테이너에 접속하기 위해서는 적절한 네트워크 브릿지나 링크가 설정되어 있어야 합니다.

3. 컨테이너 상태 확인: 사용 중인 MySQL 컨테이너가 정상적으로 실행되고 있는지 확인하세요. docker ps 명령어를 사용하여 컨테이너 상태를 확인할 수 있습니다.

4. 환경 변수 및 설정: 도커 컨테이너에서 MySQL을 실행할 때 필요한 환경 변수(예: MYSQL_ROOT_PASSWORD)가 올바르게 설정되어 있는지 확인하세요.

5. 로그 확인: 문제를 진단하기 위해 도커 컨테이너의 로그를 확인해 보세요. docker logs [컨테이너 이름] 명령어를 사용하여 MySQL 서버의 로그를 볼 수 있습니다.

6. 볼륨 마운트: 데이터를 영구적으로 보관하려면 MySQL 데이터 디렉토리를 호스트 시스템에 볼륨 마운트해야 합니다. 볼륨 마운트가 올바르게 설정되었는지 확인하세요.

7. Python 코드 검토: 파이썬 코드에서 데이터베이스 연결과 SQL 실행 부분이 올바르게 구현되었는지 다시 한번 확인하세요. 연결 정보가 정확한지, SQL 문이 올바르게 실행되고 있는지 확인합니다.

감사합니다.