작성
·
203
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 문이 올바르게 실행되고 있는지 확인합니다.
감사합니다.