MySQL innoDB 에서 Insert 하는 속도를 비약적으로 늘려야할 때가 있다.
기가바이트 단위의 덤프파일을 import 할때 인데.. 이때 빠른속도로 import 하는 방법이다.
1. innodb_flush_log_at_trx_commit 설정 값 확인.
MariaDB [(none)]> show variables like 'innodb_flush_log_at_trx_commit';
+--------------------------------+-------+
| Variable_name | Value |
+--------------------------------+-------+
| innodb_flush_log_at_trx_commit | 1 |
+--------------------------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]>
innodb_flush_log_at_trx_commit 값이 1인경우 insert 할때 로그파일을 기록한다. 이로인해 초당 3천건정도 insert할 내용을 30건정도 insert한다.
따라서 DB dump파일을 import 할때는 로그가 딱히 필요 없으므로 0 으로 설정한다.
2. innodb_flush_log_at_trx_commit 값을 0으로 변경
MariaDB [(none)]> set global innodb_flush_log_at_trx_commit=0;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show variables like 'innodb_flush_log_at_trx_commit';
+--------------------------------+-------+
| Variable_name | Value |
+--------------------------------+-------+
| innodb_flush_log_at_trx_commit | 0 |
+--------------------------------+-------+
1 row in set (0.00 sec)
별 오류 없으면 된거고 다시 확인 해 봤을때 바로 변경이 안되어 있으면 mysql 재접속 하면 변경 되어있다.
굳이 확인하지 않고 import 해봐도 확연히 바뀐 속도를 확인 할 수 있다.
'Linux' 카테고리의 다른 글
centos samba 설치 (1) | 2015.12.15 |
---|---|
Centos ext4 mount 방법 (0) | 2015.11.10 |
php5.3 source install (php-fpm) (2) | 2015.10.30 |
php soap 모듈 추가 (0) | 2015.10.30 |
웹페이지를 빠르게! nginx pagespeed 설치 (5) | 2015.10.30 |