DB : Mariadb 10.4.x
현재 운용중인 xinet.kr 워드프레스의 데이터베이스는 Mariadb 10.4 버전이고 기본 엔진은 MyISAM 이다 이것을 InnoDB로 변경해 보자
현재 데이터베이스 엔진 상태
1 2 3 4 5 6 7 8 9 10 11 12 13 |
MariaDB [(none)]> SELECT engine, support FROM information_schema.engines; +--------------------+---------+ | engine | support | +--------------------+---------+ | CSV | YES | | MRG_MyISAM | YES | | MEMORY | YES | | Aria | YES | | MyISAM | DEFAULT | | SEQUENCE | YES | | InnoDB | NO | | PERFORMANCE_SCHEMA | YES | +--------------------+---------+ |
데이터베이스에서 특정 테이블 하나만 엔진이 어떤것으로 되어 있는 확인 해 보자 /기본이 ENGINE=MyISAM 되어 있다
1 2 3 4 5 6 7 8 9 10 11 12 13 |
MariaDB [xinet_word]> show create table wp_usermeta\G; *************************** 1. row *************************** Table: wp_usermeta Create Table: CREATE TABLE `wp_usermeta` ( `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned NOT NULL DEFAULT 0, `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `meta_value` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`umeta_id`), KEY `user_id` (`user_id`), KEY `meta_key` (`meta_key`(191)) ) ENGINE=MyISAM AUTO_INCREMENT=48 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci 1 row in set (0.000 sec) |
파일 형태 frm MYI MYD 파일이 존재한다 왜 기본 엔진이 myisam 이니깐
frm : 테이블 구조가 저장되어 있는 파일
MYD : 실제 데이터가 저장되어 있는 파일
MYI : Index 정보가 들어있는 파일
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
[root@localhost ~]# ls -l /var/lib//mysql/xinet_word/ 합계 41848 -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_cart.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 bbse_commerce_cart.MYI -rw-rw---- 1 mysql mysql 3216 12월 19 12:05 bbse_commerce_cart.frm -rw-rw---- 1 mysql mysql 40 12월 19 12:05 bbse_commerce_category.MYD -rw-rw---- 1 mysql mysql 3072 12월 19 12:05 bbse_commerce_category.MYI -rw-rw---- 1 mysql mysql 2523 12월 19 12:05 bbse_commerce_category.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_config.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_config.MYI -rw-rw---- 1 mysql mysql 1620 12월 19 12:05 bbse_commerce_config.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_csv_goods.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_csv_goods.MYI -rw-rw---- 1 mysql mysql 2905 12월 19 12:05 bbse_commerce_csv_goods.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_display.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_display.MYI -rw-rw---- 1 mysql mysql 1634 12월 19 12:05 bbse_commerce_display.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_earn_log.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_earn_log.MYI -rw-rw---- 1 mysql mysql 3727 12월 19 12:05 bbse_commerce_earn_log.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_goods.MYD -rw-rw---- 1 mysql mysql 4096 12월 19 12:05 bbse_commerce_goods.MYI -rw-rw---- 1 mysql mysql 11617 12월 19 12:05 bbse_commerce_goods.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_goods_option.MYD -rw-rw---- 1 mysql mysql 4096 12월 19 12:05 bbse_commerce_goods_option.MYI -rw-rw---- 1 mysql mysql 3536 12월 19 12:05 bbse_commerce_goods_option.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_membership.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_membership.MYI -rw-rw---- 1 mysql mysql 3988 12월 19 12:05 bbse_commerce_membership.frm -rw-rw---- 1 mysql mysql 68 12월 19 12:05 bbse_commerce_membership_class.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 bbse_commerce_membership_class.MYI -rw-rw---- 1 mysql mysql 1159 12월 19 12:05 bbse_commerce_membership_class.frm -rw-rw---- 1 mysql mysql 140 12월 19 12:05 bbse_commerce_membership_config.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_membership_config.MYI -rw-rw---- 1 mysql mysql 5266 12월 19 12:05 bbse_commerce_membership_config.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_order.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 bbse_commerce_order.MYI -rw-rw---- 1 mysql mysql 12705 12월 19 12:05 bbse_commerce_order.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_order_detail.MYD -rw-rw---- 1 mysql mysql 4096 12월 19 12:05 bbse_commerce_order_detail.MYI -rw-rw---- 1 mysql mysql 5682 12월 19 12:05 bbse_commerce_order_detail.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_pg_agspay.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_pg_agspay.MYI -rw-rw---- 1 mysql mysql 7313 12월 19 12:05 bbse_commerce_pg_agspay.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_pg_inicis.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 bbse_commerce_pg_inicis.MYI -rw-rw---- 1 mysql mysql 4880 12월 19 12:05 bbse_commerce_pg_inicis.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_pg_kakaopay.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 bbse_commerce_pg_kakaopay.MYI -rw-rw---- 1 mysql mysql 4586 12월 19 12:05 bbse_commerce_pg_kakaopay.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_pg_uplus.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 bbse_commerce_pg_uplus.MYI -rw-rw---- 1 mysql mysql 7878 12월 19 12:05 bbse_commerce_pg_uplus.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_qna.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_qna.MYI -rw-rw---- 1 mysql mysql 4929 12월 19 12:05 bbse_commerce_qna.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_recent.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_recent.MYI -rw-rw---- 1 mysql mysql 1626 12월 19 12:05 bbse_commerce_recent.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_review.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_review.MYI -rw-rw---- 1 mysql mysql 6025 12월 19 12:05 bbse_commerce_review.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_social_login.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_social_login.MYI -rw-rw---- 1 mysql mysql 4298 12월 19 12:05 bbse_commerce_social_login.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 bbse_commerce_soldout_notice.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 bbse_commerce_soldout_notice.MYI -rw-rw---- 1 mysql mysql 4323 12월 19 12:05 bbse_commerce_soldout_notice.frm -rw-rw---- 1 mysql mysql 61 12월 19 12:04 db.opt -rw-rw---- 1 mysql mysql 0 12월 19 12:05 wp_bbse_asdfadsfasdf_board.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 wp_bbse_asdfadsfasdf_board.MYI -rw-rw---- 1 mysql mysql 4244 12월 19 12:05 wp_bbse_asdfadsfasdf_board.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 wp_bbse_asdfadsfasdf_comment.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 wp_bbse_asdfadsfasdf_comment.MYI -rw-rw---- 1 mysql mysql 1459 12월 19 12:05 wp_bbse_asdfadsfasdf_comment.frm -rw-rw---- 1 mysql mysql 148 12월 19 12:05 wp_bbse_board.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 wp_bbse_board.MYI -rw-rw---- 1 mysql mysql 9511 12월 19 12:05 wp_bbse_board.frm -rw-rw---- 1 mysql mysql 24 12월 19 12:05 wp_bbse_board_config.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 wp_bbse_board_config.MYI -rw-rw---- 1 mysql mysql 898 12월 19 12:05 wp_bbse_board_config.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 wp_bbse_board_syndi_delete_content_log.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 wp_bbse_board_syndi_delete_content_log.MYI -rw-rw---- 1 mysql mysql 1999 12월 19 12:05 wp_bbse_board_syndi_delete_content_log.frm -rw-rw---- 1 mysql mysql 173352 12월 19 12:05 wp_commentmeta.MYD -rw-rw---- 1 mysql mysql 38912 12월 19 12:05 wp_commentmeta.MYI -rw-rw---- 1 mysql mysql 3033 12월 19 12:05 wp_commentmeta.frm -rw-rw---- 1 mysql mysql 19847964 12월 19 12:05 wp_comments.MYD -rw-rw---- 1 mysql mysql 1182720 12월 19 12:05 wp_comments.MYI -rw-rw---- 1 mysql mysql 6679 12월 19 12:05 wp_comments.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 wp_links.MYD -rw-rw---- 1 mysql mysql 1024 12월 19 12:05 wp_links.MYI -rw-rw---- 1 mysql mysql 8102 12월 19 12:05 wp_links.frm -rw-rw---- 1 mysql mysql 170588 12월 19 12:05 wp_options.MYD -rw-rw---- 1 mysql mysql 31744 12월 19 12:05 wp_options.MYI -rw-rw---- 1 mysql mysql 2366 12월 19 12:05 wp_options.frm -rw-rw---- 1 mysql mysql 1358920 12월 19 12:05 wp_postmeta.MYD -rw-rw---- 1 mysql mysql 186368 12월 19 12:05 wp_postmeta.MYI -rw-rw---- 1 mysql mysql 3030 12월 19 12:05 wp_postmeta.frm -rw-rw---- 1 mysql mysql 11296376 12월 19 12:05 wp_posts.MYD -rw-rw---- 1 mysql mysql 238592 12월 19 12:05 wp_posts.MYI -rw-rw---- 1 mysql mysql 7211 12월 19 12:05 wp_posts.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 wp_statistics_exclusions.MYD -rw-rw---- 1 mysql mysql 4096 12월 19 12:05 wp_statistics_exclusions.MYI -rw-rw---- 1 mysql mysql 2747 12월 19 12:05 wp_statistics_exclusions.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 wp_statistics_historical.MYD -rw-rw---- 1 mysql mysql 4096 12월 19 12:05 wp_statistics_historical.MYI -rw-rw---- 1 mysql mysql 3346 12월 19 12:05 wp_statistics_historical.frm -rw-rw---- 1 mysql mysql 323936 12월 19 12:05 wp_statistics_pages.MYD -rw-rw---- 1 mysql mysql 548864 12월 19 12:05 wp_statistics_pages.MYI -rw-rw---- 1 mysql mysql 5028 12월 19 12:05 wp_statistics_pages.frm -rw-rw---- 1 mysql mysql 755520 12월 19 12:05 wp_statistics_search.MYD -rw-rw---- 1 mysql mysql 451584 12월 19 12:05 wp_statistics_search.MYI -rw-rw---- 1 mysql mysql 4255 12월 19 12:05 wp_statistics_search.frm -rw-rw---- 1 mysql mysql 400 12월 19 12:05 wp_statistics_useronline.MYD -rw-rw---- 1 mysql mysql 2048 12월 19 12:05 wp_statistics_useronline.MYI -rw-rw---- 1 mysql mysql 4068 12월 19 12:05 wp_statistics_useronline.frm -rw-rw---- 1 mysql mysql 1547 12월 19 12:05 wp_statistics_visit.MYD -rw-rw---- 1 mysql mysql 3072 12월 19 12:05 wp_statistics_visit.MYI -rw-rw---- 1 mysql mysql 1504 12월 19 12:05 wp_statistics_visit.frm -rw-rw---- 1 mysql mysql 2082336 12월 19 12:05 wp_statistics_visitor.MYD -rw-rw---- 1 mysql mysql 1988608 12월 19 12:05 wp_statistics_visitor.MYI -rw-rw---- 1 mysql mysql 6918 12월 19 12:05 wp_statistics_visitor.frm -rw-rw---- 1 mysql mysql 21966 12월 19 12:05 wp_term_relationships.MYD -rw-rw---- 1 mysql mysql 43008 12월 19 12:05 wp_term_relationships.MYI -rw-rw---- 1 mysql mysql 1496 12월 19 12:05 wp_term_relationships.frm -rw-rw---- 1 mysql mysql 4680 12월 19 12:05 wp_term_taxonomy.MYD -rw-rw---- 1 mysql mysql 8192 12월 19 12:05 wp_term_taxonomy.MYI -rw-rw---- 1 mysql mysql 2209 12월 19 12:05 wp_term_taxonomy.frm -rw-rw---- 1 mysql mysql 0 12월 19 12:05 wp_termmeta.MYD -rw-rw---- 1 mysql mysql 4096 12월 19 12:05 wp_termmeta.MYI -rw-rw---- 1 mysql mysql 3030 12월 19 12:05 wp_termmeta.frm -rw-rw---- 1 mysql mysql 3972 12월 19 12:05 wp_terms.MYD -rw-rw---- 1 mysql mysql 15360 12월 19 12:05 wp_terms.MYI -rw-rw---- 1 mysql mysql 3625 12월 19 12:05 wp_terms.frm -rw-rw---- 1 mysql mysql 3464 12월 19 12:05 wp_usermeta.MYD -rw-rw---- 1 mysql mysql 10240 12월 19 12:05 wp_usermeta.MYI -rw-rw---- 1 mysql mysql 3031 12월 19 12:05 wp_usermeta.frm -rw-rw---- 1 mysql mysql 88 12월 19 12:05 wp_users.MYD -rw-rw---- 1 mysql mysql 8192 12월 19 12:05 wp_users.MYI -rw-rw---- 1 mysql mysql 6962 12월 19 12:05 wp_users.frm |
일괄 Innodb로 변경하기전에 전체 데이터베이스를 백업 받자
1 2 |
[root@localhost ~]# mysqldump -u root -p --all-databases > all-databases-backup.sql Enter password: |
데이터베이스 기본 엔진을 Innodb로 변경하자 ( my.cnf 에서 변경 후 mysql 재시작) 아래처럼
기본엔진과 innodb_file_per_table ON 되어 있어야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
MariaDB [(none)]> SELECT engine, support FROM information_schema.engines; +--------------------+---------+ | engine | support | +--------------------+---------+ | CSV | YES | | MRG_MyISAM | YES | | MEMORY | YES | | Aria | YES | | MyISAM | YES | | SEQUENCE | YES | | InnoDB | DEFAULT | | PERFORMANCE_SCHEMA | YES | +--------------------+---------+ 8 rows in set (0.001 sec) MariaDB [(none)]> show variables like 'innodb_file_per_table'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_file_per_table | ON | +-----------------------+-------+ 1 row in set (0.002 sec) |
이제 명령어로 테이블을 변경해 보자 / 결과값은 convert-to-innodb.log 에서 확인 할 수 있다 / 별다른 에러없이 성공 (ppassword 패스워드 입력)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
[root@localhost ~]# mysql -u root -ppassword-Bse 'SELECT CONCAT("ALTER TABLE ",table_schema,".",table_name," ENGINE=InnoDB;") FROM information_schema.tables WHERE table_schema NOT IN ("mysql","information_schema","performance_schema") AND Engine = "MyISAM";' | while read -r i; do echo $i; mysql -u root -ppassword -e "$i"; done | tee convert-to-innodb.log ALTER TABLE xinet_word.bbse_commerce_cart ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_category ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_config ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_csv_goods ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_display ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_earn_log ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_goods ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_goods_option ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_membership ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_membership_class ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_membership_config ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_order ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_order_detail ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_pg_agspay ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_pg_inicis ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_pg_kakaopay ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_pg_uplus ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_qna ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_recent ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_review ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_social_login ENGINE=InnoDB; ALTER TABLE xinet_word.bbse_commerce_soldout_notice ENGINE=InnoDB; ALTER TABLE xinet_word.wp_bbse_asdfadsfasdf_board ENGINE=InnoDB; ALTER TABLE xinet_word.wp_bbse_asdfadsfasdf_comment ENGINE=InnoDB; ALTER TABLE xinet_word.wp_bbse_board ENGINE=InnoDB; ALTER TABLE xinet_word.wp_bbse_board_config ENGINE=InnoDB; ALTER TABLE xinet_word.wp_bbse_board_syndi_delete_content_log ENGINE=InnoDB; ALTER TABLE xinet_word.wp_commentmeta ENGINE=InnoDB; ALTER TABLE xinet_word.wp_comments ENGINE=InnoDB; ALTER TABLE xinet_word.wp_links ENGINE=InnoDB; ALTER TABLE xinet_word.wp_options ENGINE=InnoDB; ALTER TABLE xinet_word.wp_postmeta ENGINE=InnoDB; ALTER TABLE xinet_word.wp_posts ENGINE=InnoDB; ALTER TABLE xinet_word.wp_statistics_exclusions ENGINE=InnoDB; ALTER TABLE xinet_word.wp_statistics_historical ENGINE=InnoDB; ALTER TABLE xinet_word.wp_statistics_pages ENGINE=InnoDB; ALTER TABLE xinet_word.wp_statistics_search ENGINE=InnoDB; ALTER TABLE xinet_word.wp_statistics_useronline ENGINE=InnoDB; ALTER TABLE xinet_word.wp_statistics_visit ENGINE=InnoDB; ALTER TABLE xinet_word.wp_statistics_visitor ENGINE=InnoDB; ALTER TABLE xinet_word.wp_term_relationships ENGINE=InnoDB; ALTER TABLE xinet_word.wp_term_taxonomy ENGINE=InnoDB; ALTER TABLE xinet_word.wp_termmeta ENGINE=InnoDB; ALTER TABLE xinet_word.wp_terms ENGINE=InnoDB; ALTER TABLE xinet_word.wp_usermeta ENGINE=InnoDB; ALTER TABLE xinet_word.wp_users ENGINE=InnoDB; |
자료를 확인해보자 기존과 다르게 ibd 파일이 생성되어있다. 기존 MYI , MYD 파일은 사라지고 / Mariadb 버전이 높아지면서
innodb_file_per_table=1 값이 기본으로 되어 있다. 그래서 테이블 단위로 ibd 파일이 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
[root@localhost ~]# ls -l /var/lib//mysql/xinet_word/ 합계 76676 -rw-rw---- 1 mysql mysql 3216 12월 19 12:08 bbse_commerce_cart.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 bbse_commerce_cart.ibd -rw-rw---- 1 mysql mysql 2523 12월 19 12:08 bbse_commerce_category.frm -rw-rw---- 1 mysql mysql 114688 12월 19 12:08 bbse_commerce_category.ibd -rw-rw---- 1 mysql mysql 1620 12월 19 12:08 bbse_commerce_config.frm -rw-rw---- 1 mysql mysql 114688 12월 19 12:08 bbse_commerce_config.ibd -rw-rw---- 1 mysql mysql 2905 12월 19 12:08 bbse_commerce_csv_goods.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 bbse_commerce_csv_goods.ibd -rw-rw---- 1 mysql mysql 1634 12월 19 12:08 bbse_commerce_display.frm -rw-rw---- 1 mysql mysql 114688 12월 19 12:08 bbse_commerce_display.ibd -rw-rw---- 1 mysql mysql 3727 12월 19 12:08 bbse_commerce_earn_log.frm -rw-rw---- 1 mysql mysql 163840 12월 19 12:08 bbse_commerce_earn_log.ibd -rw-rw---- 1 mysql mysql 11617 12월 19 12:08 bbse_commerce_goods.frm -rw-rw---- 1 mysql mysql 163840 12월 19 12:08 bbse_commerce_goods.ibd -rw-rw---- 1 mysql mysql 3536 12월 19 12:08 bbse_commerce_goods_option.frm -rw-rw---- 1 mysql mysql 163840 12월 19 12:08 bbse_commerce_goods_option.ibd -rw-rw---- 1 mysql mysql 3988 12월 19 12:08 bbse_commerce_membership.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 bbse_commerce_membership.ibd -rw-rw---- 1 mysql mysql 1159 12월 19 12:08 bbse_commerce_membership_class.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 bbse_commerce_membership_class.ibd -rw-rw---- 1 mysql mysql 5266 12월 19 12:08 bbse_commerce_membership_config.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 bbse_commerce_membership_config.ibd -rw-rw---- 1 mysql mysql 12705 12월 19 12:08 bbse_commerce_order.frm -rw-rw---- 1 mysql mysql 163840 12월 19 12:08 bbse_commerce_order.ibd -rw-rw---- 1 mysql mysql 5682 12월 19 12:08 bbse_commerce_order_detail.frm -rw-rw---- 1 mysql mysql 163840 12월 19 12:08 bbse_commerce_order_detail.ibd -rw-rw---- 1 mysql mysql 7313 12월 19 12:08 bbse_commerce_pg_agspay.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 bbse_commerce_pg_agspay.ibd -rw-rw---- 1 mysql mysql 4880 12월 19 12:08 bbse_commerce_pg_inicis.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 bbse_commerce_pg_inicis.ibd -rw-rw---- 1 mysql mysql 4586 12월 19 12:08 bbse_commerce_pg_kakaopay.frm -rw-rw---- 1 mysql mysql 114688 12월 19 12:08 bbse_commerce_pg_kakaopay.ibd -rw-rw---- 1 mysql mysql 7878 12월 19 12:08 bbse_commerce_pg_uplus.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 bbse_commerce_pg_uplus.ibd -rw-rw---- 1 mysql mysql 4929 12월 19 12:08 bbse_commerce_qna.frm -rw-rw---- 1 mysql mysql 147456 12월 19 12:08 bbse_commerce_qna.ibd -rw-rw---- 1 mysql mysql 1626 12월 19 12:08 bbse_commerce_recent.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 bbse_commerce_recent.ibd -rw-rw---- 1 mysql mysql 6025 12월 19 12:08 bbse_commerce_review.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 bbse_commerce_review.ibd -rw-rw---- 1 mysql mysql 4298 12월 19 12:08 bbse_commerce_social_login.frm -rw-rw---- 1 mysql mysql 163840 12월 19 12:08 bbse_commerce_social_login.ibd -rw-rw---- 1 mysql mysql 4323 12월 19 12:08 bbse_commerce_soldout_notice.frm -rw-rw---- 1 mysql mysql 180224 12월 19 12:08 bbse_commerce_soldout_notice.ibd -rw-rw---- 1 mysql mysql 61 12월 19 12:04 db.opt -rw-rw---- 1 mysql mysql 4244 12월 19 12:08 wp_bbse_asdfadsfasdf_board.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 wp_bbse_asdfadsfasdf_board.ibd -rw-rw---- 1 mysql mysql 1459 12월 19 12:08 wp_bbse_asdfadsfasdf_comment.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 wp_bbse_asdfadsfasdf_comment.ibd -rw-rw---- 1 mysql mysql 9511 12월 19 12:08 wp_bbse_board.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 wp_bbse_board.ibd -rw-rw---- 1 mysql mysql 898 12월 19 12:08 wp_bbse_board_config.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 wp_bbse_board_config.ibd -rw-rw---- 1 mysql mysql 1999 12월 19 12:08 wp_bbse_board_syndi_delete_content_log.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 wp_bbse_board_syndi_delete_content_log.ibd -rw-rw---- 1 mysql mysql 3033 12월 19 12:08 wp_commentmeta.frm -rw-rw---- 1 mysql mysql 606208 12월 19 12:08 wp_commentmeta.ibd -rw-rw---- 1 mysql mysql 6679 12월 19 12:08 wp_comments.frm -rw-rw---- 1 mysql mysql 29360128 12월 19 12:08 wp_comments.ibd -rw-rw---- 1 mysql mysql 8102 12월 19 12:08 wp_links.frm -rw-rw---- 1 mysql mysql 114688 12월 19 12:08 wp_links.ibd -rw-rw---- 1 mysql mysql 2366 12월 19 12:08 wp_options.frm -rw-rw---- 1 mysql mysql 360448 12월 19 12:08 wp_options.ibd -rw-rw---- 1 mysql mysql 3030 12월 19 12:08 wp_postmeta.frm -rw-rw---- 1 mysql mysql 4194304 12월 19 12:08 wp_postmeta.ibd -rw-rw---- 1 mysql mysql 7211 12월 19 12:08 wp_posts.frm -rw-rw---- 1 mysql mysql 23068672 12월 19 12:08 wp_posts.ibd -rw-rw---- 1 mysql mysql 2747 12월 19 12:08 wp_statistics_exclusions.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 wp_statistics_exclusions.ibd -rw-rw---- 1 mysql mysql 3346 12월 19 12:08 wp_statistics_historical.frm -rw-rw---- 1 mysql mysql 147456 12월 19 12:08 wp_statistics_historical.ibd -rw-rw---- 1 mysql mysql 5028 12월 19 12:08 wp_statistics_pages.frm -rw-rw---- 1 mysql mysql 2097152 12월 19 12:08 wp_statistics_pages.ibd -rw-rw---- 1 mysql mysql 4255 12월 19 12:08 wp_statistics_search.frm -rw-rw---- 1 mysql mysql 4194304 12월 19 12:08 wp_statistics_search.ibd -rw-rw---- 1 mysql mysql 4068 12월 19 12:08 wp_statistics_useronline.frm -rw-rw---- 1 mysql mysql 98304 12월 19 12:08 wp_statistics_useronline.ibd -rw-rw---- 1 mysql mysql 1504 12월 19 12:08 wp_statistics_visit.frm -rw-rw---- 1 mysql mysql 114688 12월 19 12:08 wp_statistics_visit.ibd -rw-rw---- 1 mysql mysql 6918 12월 19 12:08 wp_statistics_visitor.frm -rw-rw---- 1 mysql mysql 9437184 12월 19 12:09 wp_statistics_visitor.ibd -rw-rw---- 1 mysql mysql 1496 12월 19 12:08 wp_term_relationships.frm -rw-rw---- 1 mysql mysql 180224 12월 19 12:09 wp_term_relationships.ibd -rw-rw---- 1 mysql mysql 2209 12월 19 12:08 wp_term_taxonomy.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 wp_term_taxonomy.ibd -rw-rw---- 1 mysql mysql 3030 12월 19 12:08 wp_termmeta.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 wp_termmeta.ibd -rw-rw---- 1 mysql mysql 3625 12월 19 12:08 wp_terms.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 wp_terms.ibd -rw-rw---- 1 mysql mysql 3031 12월 19 12:08 wp_usermeta.frm -rw-rw---- 1 mysql mysql 131072 12월 19 12:08 wp_usermeta.ibd -rw-rw---- 1 mysql mysql 6962 12월 19 12:08 wp_users.frm -rw-rw---- 1 mysql mysql 147456 12월 19 12:08 wp_users.ibd |
그럼 쿼리로 현재 테이블 엔진상태를 체크해 보자 기본 엔진이 ENGINE=InnoDB 변경된 것을 확인 할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
MariaDB [xinet_word]> show create table wp_usermeta\G; *************************** 1. row *************************** Table: wp_usermeta Create Table: CREATE TABLE `wp_usermeta` ( `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned NOT NULL DEFAULT 0, `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `meta_value` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`umeta_id`), KEY `user_id` (`user_id`), KEY `meta_key` (`meta_key`(191)) ) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci 1 row in set (0.000 sec) MariaDB [xinet_word]> |
원본 myisam 일때 테이블 큰것의 5개 용량
1 2 3 4 5 6 |
[root@xinet ~]# ls -lShr /var/lib/mysql/xinet_word/ | tail -n 5 -rw-rw---- 1 mysql mysql 1.3M 12월 18 15:53 wp_postmeta.MYD -rw-rw---- 1 mysql mysql 2.0M 12월 19 12:12 wp_statistics_visitor.MYD -rw-rw---- 1 mysql mysql 2.0M 12월 19 12:12 wp_statistics_visitor.MYI -rw-rw---- 1 mysql mysql 11M 12월 18 15:53 wp_posts.MYD -rw-rw---- 1 mysql mysql 19M 12월 18 20:57 wp_comments.MYD |
데이터베이스 전체 용량 ( myisam 기준)
1 2 |
[root@xinet ~]# du -sh /var/lib/mysql/xinet_word/ 41M /var/lib/mysql/xinet_word/ |
그럼 변경된 innodb 일때는 용량이 어떻게 변했는지 / 전체적으로 용량이 높아짐
1 2 3 4 5 6 |
[root@localhost mysql]# ls -lShr /var/lib/mysql/xinet_word/ | tail -n 5 -rw-rw---- 1 mysql mysql 4.0M 12월 19 12:08 wp_statistics_search.ibd -rw-rw---- 1 mysql mysql 4.0M 12월 19 12:08 wp_postmeta.ibd -rw-rw---- 1 mysql mysql 9.0M 12월 19 12:16 wp_statistics_visitor.ibd -rw-rw---- 1 mysql mysql 22M 12월 19 12:08 wp_posts.ibd -rw-rw---- 1 mysql mysql 28M 12월 19 12:08 wp_comments.ibd |
1 2 |
[root@localhost ~]# du -sh /var/lib/mysql/xinet_word/ 75M /var/lib/mysql/xinet_word/ |
용량이 2배 좀 안되게 늘었다. 원인은 tables space 때문에 그럼 왜 ibdata1 파일에 쌓이지 않고 ibd 파일에 바로 쌓이는것이냐.
mariadb의 file_per_table 옵션때문에 그럼 ON 되어 있으면 데이터베이스내에
ibd 파일이 생성이 되고 그게 아니면 ibdata1 파일에 모두 생성 됨
1 2 3 4 5 6 7 |
MariaDB [(none)]> show variables like 'innodb_file_per_table'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_file_per_table | ON | +-----------------------+-------+ 1 row in set (0.002 sec) |
아래처럼 되어 있는 경우에는 ibdata1 파일에 모두 파일을 생성
1 2 3 4 5 6 |
MariaDB [(none)]> show variables like 'innodb_file_per_table'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_file_per_table | OFF | +-----------------------+-------+ |