• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

최종 코드 (pymysql + crawling)가 실행이 되지 않습니다.

21.07.21 08:12 작성 조회수 332

0

안녕하세요

요즘 날이 많이 더운데 더위 조심하시구요! 좋은 강의해주셔서 항상 감사드립니다.

오류가 나면 말씀해주신대로 항상 이것저것 살펴보고 해결해보면서 수업을 듣고 있었는데, 이번 것은 좀처럼 해결이 되지 않아 문의 드립니다.

'mysql_advance_with_pymysql' 상에서 최종코드(pymysql + crawling)부분이 실행이 되지 않고있습니다.

passwd와 db만 수정하여 실행시켰는데, 첫번째 결과값만 나오고 그 뒤론 에러가 뜹니다.(첨부 사진 참조)

제일 마지막 오류 문구가 'DataError: (1406, "Data too long for column 'item_code' at row 1")' 입니다.

처음에 item_code에 지정한 길이가 너무 짧아서 생긴것인가 싶어 기존에 작성된 파일을 지우고 다시 sql을 시작해보려고 'Delete table data'(mysql_advance_with_pymysql'파일 안에 있는것)를 실행시키면 이번엔 다음과 같은 오류가 떠서 지워지지도 않는 상황입니다.

OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction')

이것저것 따라해보려고 하는데..쉽지 않네요...
확인하시고 답변 부탁드리겠습니다.


답변 2

·

답변을 작성해보세요.

0

이상아님의 프로필

이상아

2021.07.26

알려주신 방법으로 kill을 이용하여 전부 종료시킨 후 다시 작동하니 전부 제대로 결과값이 나옵니다! 그런데 이번엔 하나를 해결하니 또 다른 문제가 있는데요, 주피터로는 지마켓을 크롤링한 모든 결과값이 나오는데 mysql로 들어가서 보면 데이터가 전혀 입력되어 있지 않습니다.  결과값이 너무 많다보니 중간에 멈추는 버튼을 눌렀는데 혹시 이것도 영향이 가는지요? 다음단계에서mysql_additional 파일을 이용한 수업을 들어야 하는데 결과값이 없으니 진도를 못나가고 막혀있는 상황입니다....

세상의끝님의 프로필

세상의끝

2021.08.02

해결 하셨나요?

0

안녕하세요. 네 날씨가 덥네요.

일단, 크롤링한 후에, 해당 데이터를 mysql 에 넣는데 문제가 생긴 것 같아요. 이를 확인하셔서, mysql 관련 테이블을 새로 만들려고 하신 부분은 잘 하신것이고요. 저도 테이블에 이미 들어 있는 데이터와 뭔가 문제가 있을 가능성이 있다고 생각했거든요.

그런데 이번에는 삭제를 하려고 했는데, Lock 관련 에러가 뜬것이고요. 이것은 또 다른 문제인데요. 아마~ 크롤링 코드가 에러가 나면서, 관련 mysql 작업이 종료가 안된 상태에서, 다른 작업을 하려니까 뭔가 lock 이 걸린 것 같습니다.

그 부분을 해결하는 것이 만만해보이지는 않아요. mysql 터미널로 들어가셔서 작업을 하셔야 하거든요. 다음 링크의 최하단부를 보시면, kill 명령이 있어요. 해당 명령을 해보시면 좋을 것 같습니다. 저작권 문제가 있으니, 관련 글을 복사해서 넣을수는 없을 것 같고요.

https://www.popit.kr/mysql-lock-%EC%83%81%ED%99%A9-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0/

이게 힘드시면, 아예 컴퓨터 껐다 켜서 해보시고요. 그래도 안되면, mysql만 종료후 다시 시작해서 해보시고요. 그것도 정 안된다면, 아예 mysql 을 삭제하고, 재설치해서 해보셔도 되긴 할텐데, 삭제/재설치 작업도 생각보다 예상치 못한 문제가 많이 발생해요. 그래서 우선 컴퓨터/mysql 재시작을 해보시면 좋을 것 같고, 그것도 안되면, mysql 터미널모드에서 해당 링크의 명령을 시도해보시면 좋을 것 같습니다.

감사합니다.