MySQL 3

Mysql(Out of resources when opening file)

Mysql partitiong 테스트로 구축해서 배치작업등을 돌려보고 있다. 오늘은 배치작업들이 다음과 같은 에러를 내면서 실패했다. Statement failed: error 23 (Out of resources when opening file './weblink/wl_img_ht_tbl_R#P#p22.MYD' (Errcode: 24)) 즉, 파일을 열 수 있는 제한에 다다랐다는 말이다. partitiong을 구현하면서 파일의 개수가 많아져서 에러가 발생한 것으로 보인다. 현재 5.1 버전에서의 파티셔닝에서 테이블 조회시 해당 파티셔닝에 해당하는 파일만 접근하는 것이 아니라, 해당 테이블의 모든 파일을 읽어들인다고 한다. open_files_limit 값을 증가시켜주기 위해 my.cnf에 open-fi..

리눅스 및 DB 2008.06.24

mysql bug(This could be because you hit a bug)

개발장비에 mysql 5.1.24를 깔아서 partitioning 등 기능을 테스트하고 있다. 오늘은 mysqldump를 받는데 장비가 hang이 걸려서 리붓이 됐다; 테이블사이즈가 커서 dump파일이 2G가 넘는게 몇개 있긴 했지만, 5.0버전에서 잘 돌고 있던 거라 dump를 다시 실행시켰다. out of memory 라는 메시지가 나와서 dump받던 프로세스를 kill 로 죽이고, my.cnf에서 mysqldump 실행시 max_allowed_packet 값을 좀 키운다음 mysql을 내렸다가 다시 올리려고 하는데.. 아래와 같은 에러가 나면서 mysqld이 안 올라간다;; my.cnf바꾼거 때문인가 해서 원복해도 안되고... 몇번의 삽질과 검색끝에.. mysql의 버그라고 한다; 최근에 5.1.2..

리눅스 및 DB 2008.06.18

MySQL 인덱스 관련참고

요즘 MySQL DB replication을 구현하려고 개발장비에서 테스트를 하고 있다. 그런데, 개발 DB를 보다 보니 몇 개의 table의 index가 disable상태였다. 운영DB내용 dump받은 걸 넣은건데 몇몇 테이블만 인덱스가 disable이라니..이상하다; 어쨌든, MySQL의 인덱스는 아래 명령어로 disable, enable시킬수 있었다. ALTER TABLE foo DISABLE KEYS; ALTER TABLE foo ENABLE KEYS; 찾다보니 대용량 데이터를 insert할때 index를 disable해두면 속도가 빠르다고 한다. MySQL은 인덱스 생성시 별도 테이블로 카피해서 rename하는 구조이기 때문에, 인덱스를 삭제 후 생성하는 것 보다, disable해두었다가 ena..

리눅스 및 DB 2007.05.22
반응형