table_type 변수가 더 이상 작동하지 않는 이유
MySQL 시스템 변수 table_type은 MySQL 5.5.3 버전부터 공식적으로 지원 중단(deprecated)되었기 때문에 더 이상 작동하지 않습니다. 이 변수 대신 default_storage_engine 변수를 사용해야 합니다.
default_storage_engine 설정 방법
기본 스토리지 엔진을 변경하는 구문은 다음과 같습니다.
SET default_storage_engine = yourTableEngine;
엔진 이름으로는 InnoDB 또는 MyISAM 등을 지정할 수 있습니다. 여기서는 엔진 유형을 MyISAM으로 설정해 보겠습니다.
mysql> SET default_storage_engine=MyISAM;
Query OK, 0 rows affected (0.00 sec)
테이블 생성 후 엔진 유형 확인하기
설정이 제대로 적용되었는지 확인하기 위해 먼저 테스트용 테이블을 생성합니다.
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
);
Query OK, 0 rows affected (0.40 sec)
이제 위에서 생성한 테이블의 엔진 유형을 조회합니다.
mysql> SHOW TABLE STATUS WHERE Name = 'DemoTable';
쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+--------------+--------+---------+------------+------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+--------------+--------+---------+------------+------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| DemoTable | MyISAM | 10 | Fixed | 0 | 0 | 0 | 1970324836974591 | 1024 | 0 | 1 | 2019-05-01 22:15:03 | 2019-05-01 22:15:03 | NULL | utf8_unicode_ci | NULL | | |
+--------------+--------+---------+------------+------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
1 row in set (0.34 sec)
출력 결과의 Engine 열을 보면 값이 MyISAM으로 표시되어 있습니다. 이는 default_storage_engine 설정이 정상적으로 적용되었음을 의미합니다.
주의 사항
NOTE − MySQL 8.0.12 버전부터 기본 스토리지 엔진은 InnoDB입니다. 위 예제에서 MyISAM으로 변경한 설정은 현재 세션에만 적용됩니다. 서버 전체에 영구적으로 적용하려면 SET GLOBAL default_storage_engine=MyISAM;처럼 GLOBAL 키워드를 사용하거나, MySQL 설정 파일(my.cnf)의 [mysqld] 섹션에 해당 옵션을 추가해야 합니다.