[문제해결] Mysql Version업그레이드 후 DB error 날때
4.17.1 Upgrading From Version 3.22 to Version 3.23
MySQL Version 3.23 에서부터 table type 에 MyISAM type 과 ISAM type
(기존) 을 모두 지원합니다.
V 3.23 에서 기존 ISAM type 을 그대로 갖다 사용할 수 있으며, 기본적으
로 새로운 table 은 MyISAM type 으로 생성됩니다.
(mysqld 실행시 –default-table-type=isam 옵션을 주지 않았을 때)
역자주>—————————–
– table 확장자 비교
ISAM MyISAM
———————–
.frm .frm
.ISD .MYD
.ISM .MYI
———————–
– ISAM type 에서 하나의 table size 4 Gb 까지 지원되던게, MyISAM type
에서 800만 Tb 까지 가능하답니다.
물론 Linux ext2 fs 에서 파일 하나의 size 가 최대 2 Gb 이므로 size 에
서 느끼는 차이는 없을 듯.
—————————————-
ISAM table 을 MyISAM table 로 변환이 가능합니다.
(ALTER TABLE 을 이용하거나, 펄 스크립트 mysql_convert_table_format
를 이용.)
역자주>———————–
사용법 : ./mysql_convert_table_format database [tables]
보통 mysql_convert_table_format 스크립트는 /usr/local/mysql/bin 에 존
재.
——————————
* Version 3.23 으로 업그레이드 후 유의점(요약)
– 테이블을 check/repair 시에 MyISAM tables (.MYI) 은 CHECK TABLE 또
는 myisamchk 을 사용하고, ISAM tables (.ISM) 은 isamchk 을 사용해야합
니다.
– V3.22 와 V3.23 에서 호환되도록 하려면, mysqldump 사용시 –opt 또
는 –full 옵션을 사용해선 안 됩니다.
– V3.22 에서 SELECT DISTINCT … 로 출력시 거의 대부분 sort 되어 나오
지만, V3.23 에서는 GROUP BY 나 ORDER BY 를 사용해야 sort 됩니다.
– OPTIMIZE TABLE 은 MyISAM table type 에서만 유효합니다. 다른 table
type 에서는 ALTER TABLE 을 사용.