{"id":1290,"date":"2014-06-28T22:07:23","date_gmt":"2014-06-28T13:07:23","guid":{"rendered":"http:\/\/ani2life.com\/wp\/?p=1290"},"modified":"2014-06-28T22:08:57","modified_gmt":"2014-06-28T13:08:57","slug":"mysql-%ec%9b%90%ea%b2%a9-%ec%a6%9d%eb%b6%84-%eb%b0%b1%ec%97%85-percona-xtrabackup","status":"publish","type":"post","link":"https:\/\/ani2life.com\/wp\/?p=1290","title":{"rendered":"MySQL \uc6d0\uaca9 \uc99d\ubd84 \ubc31\uc5c5 &#8211; Percona XtraBackup"},"content":{"rendered":"<h1># Percona XtraBackup \uc18c\uac1c<\/h1>\n<p>\uc774\ubbf8 \uc608\uc804\uc5d0 <a href=\"https:\/\/ani2life.com\/wp\/?p=606\">XtraBackup\uc744 \uac04\ub2e8\ud558\uac8c \uc18c\uac1c\ud55c \uae00<\/a>\uc744 \uc37c\uc5c8\ub294\ub370 \uadf8 \uae00\uc758 \ub0b4\uc6a9\ub9cc\uc73c\ub85c\ub294 XtraBackup\uc744 \uc2e4\ubb34\uc5d0 \uc4f0\uae30\uc5d0 \ud131\uc5c6\uc774 \ubd80\uc871\ud558\ub2e4. \uadf8\ub798\uc11c \uc774\ubc88\uc5d0\ub294 XtraBackup\uc744 \uc81c\ub300\ub85c \uc4f8 \uc218 \uc788\ub294 \ubb38\uc11c\ub97c \ub9cc\ub4e4\uc5c8\ub2e4.<\/p>\n<p>\uc77c\ubc18\uc801\uc73c\ub85c MySQL \ubc31\uc5c5\uc73c\ub85c\u00a0mysqldump\ub97c \uc0ac\uc6a9\ud558\ub294\ub370 \ub9e4\ubc88 \uc804\uccb4\ub97c \ubc31\uc5c5\ud558\ub294 \ubc29\uc2dd\uc774\ubbc0\ub85c \ub370\uc774\ud130\uac00 \ucee4\uc9c8\uc218\ub85d \ubc31\uc5c5\uc5d0 \uac78\ub9ac\ub294 \uc2dc\uac04\uc774 \uae38\uc5b4\uc9c0\uace0 \ubd80\ub2f4\uc774 \ucee4\uc9c4\ub2e4. \ubfd0\ub9cc \uc544\ub2c8\ub77c \ubc31\uc5c5\ub41c \ub370\uc774\ud130\ub97c \ubcf5\uad6c\ud558\ub294\ub370\ub3c4 \ubb34\ucc99 \uae34 \uc2dc\uac04\uc744 \ud544\uc694\ub85c \ud55c\ub2e4. \ud558\uc9c0\ub9cc XtraBackup\uc744 \uc0ac\uc6a9\ud558\uba74 \ub9c8\uc9c0\ub9c9 \ubc31\uc5c5\uc73c\ub85c\ubd80\ud130 \ubcc0\uacbd\ub41c \uc0ac\ud56d\ub9cc \uc774\uc5b4\uc11c \ubc31\uc5c5\ud558\ub294 \uc99d\ubd84 \ubc31\uc5c5\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>XtraBackup\uc740 MySQL\uc758 \ub370\uc774\ud130 \ub514\ub809\ud1a0\ub9ac \uc790\uccb4\ub97c \ubcf5\uc0ac\ud558\ub294 \uac83\uacfc \uac19\uae30\uc5d0 \ubcf5\uad6c\uc5d0 \uac78\ub9ac\ub294 \uc2dc\uac04\uc740 \ub2e8\uc9c0 \ud30c\uc77c\uc744 \ubcf5\uc0ac\ud558\ub294\ub370 \uac78\ub9ac\ub294 \uc2dc\uac04\uacfc \uac19\uc73c\uba70 InnoDB \uc5d4\uc9c4\uc744 \uc801\uc6a9\ud55c \ud14c\uc774\ube14\uc758 \uacbd\uc6b0 MySQL\uc774 \uc2e4\ud589\uc911\uc778 \uc0c1\ud0dc\uc5d0\uc11c\ub3c4 \ud14c\uc774\ube14 \ub77d\uc744 \uac78\uc9c0 \uc54a\uace0 \ubc31\uc5c5\uc774 \uac00\ub2a5\ud558\ub2e4. MyISAM \uc5d4\uc9c4\uc744 \uc0ac\uc6a9\ud55c \ud14c\uc774\ube14\uc740 \ub77d\uc774 \uac78\ub9ac\ubbc0\ub85c \uc8fc\uc758\ud558\uc790.(\ub77d\uc744 \uac78\uc9c0 \uc54a\ub3c4\ub85d \ud558\ub294 \uc635\uc158\uc774 \uc788\uc9c0\ub9cc \ubaa8\ud5d8\uc744 \ud558\uace0 \uc2f6\uc9c0\ub294 \uc54a\ub2e4.)<\/p>\n<p>&nbsp;<\/p>\n<h1># \ud559\uc2b5 \uc21c\uc11c<\/h1>\n<p>\uc774 \ubb38\uc11c\uc5d0\uc11c\ub294 XtraBackup\uc73c\ub85c MySQL \ubc31\uc5c5\uc744 \uc544\ub798\uc640 \uac19\uc740 \ub2e8\uacc4\ub85c \ud559\uc2b5\ud558\uaca0\ub2e4.<\/p>\n<ol>\n<li>\ub85c\uceec \uc804\uccb4 \ubc31\uc5c5 \ubc0f \ubcf5\uad6c<\/li>\n<li>\ub85c\uceec \uc99d\ubd84 \ubc31\uc5c5 \ubc0f \ubcf5\uad6c<\/li>\n<li>\uc6d0\uaca9 \uc99d\ubd84 \ubc31\uc5c5 \ubc0f \ubcf5\uad6c<\/li>\n<\/ol>\n<p>\ub2e8\uacc4\uac00 \uc62c\ub77c\uac08\uc218\ub85d \ubcf5\uc7a1\ub3c4\uac00 \ub192\uc544\uc9c0\uba70 \uc774\uc804 \ub2e8\uacc4\uc758 \uc774\ud574\ub97c \uc694\uad6c\ud558\ubbc0\ub85c \ud55c\ub2e8\uacc4\uc529 \ucc28\uadfc\ucc28\uadfc \uc9c4\ud589\ud558\uc790.<\/p>\n<p>&nbsp;<\/p>\n<h1># \uc124\uce58<\/h1>\n<p>XtraBackup\uc758 \uc124\uce58\ub294 \uc5b4\ub835\uc9c0 \uc54a\ub2e4. \ud328\ud0a4\uc9c0\ub85c \uc124\uce58\uac00 \uac00\ub2a5\ud558\uba70 \uc6b0\ubd84\ud22c\uc5d0\uc11c\ub294 apt-get\uc73c\ub85c \uc124\uce58\ud558\uba74 \ub41c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo apt-get install xtrabackup<\/pre>\n<p>\ub808\ub4dc\ud587 \uacc4\uc5f4\uc740 yum\uc73c\ub85c \uc124\uce58\ud558\uba74 \ub41c\ub2e4. \uc694\uc998 \ubc30\ud3ec\ud310\uc774\ub77c\uba74 \uae30\ubcf8 \uc800\uc7a5\uc18c\uc5d0 XtraBackup\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0\ub9cc \uadf8\ub807\uc9c0 \uc54a\ub2e4\uba74 <a href=\"http:\/\/www.percona.com\/doc\/percona-xtrabackup\/2.1\/installation.html\" target=\"_blank\">Percona\uc5d0\uc11c \uc81c\uacf5\ud558\ub294\u00a0XtraBackup \uc124\uce58 \uac00\uc774\ub4dc<\/a>\ub97c \ucc38\uace0\ud558\uc790.<\/p>\n<p>&nbsp;<\/p>\n<h1># \uc804\uccb4 \ubc31\uc5c5<\/h1>\n<p>\uc804\uccb4 \ubc31\uc5c5\uc740 \ubb34\ucc99 \uac04\ub2e8\ud558\ub2e4. <strong>innobackupex<\/strong>\ub77c\ub294 \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\ub294\ub370 xtrabackup\uc744 \uc880 \ub354 \uc4f0\uae30 \uc27d\uac8c \ud384 \uc2a4\ud06c\ub9bd\ud2b8\ub85c \uad6c\ud604\ud574 \ub193\uc740 \uac83\uc774\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 \/\uc804\uccb4\ubc31\uc5c5<\/pre>\n<p>\uc704\uc640 \uac19\uc774 \ubc31\uc5c5\ud560 \uacbd\uc6b0 &#8216;\/\uc804\uccb4\ubc31\uc5c5\/\ub0a0\uc9dc&#8217;\ub85c \uc800\uc7a5\ub41c\ub2e4.<br \/>\n\ubc31\uc5c5\ub514\ub809\ud1a0\ub9ac\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \uc9c0\uc815\ud558\uace0 \uc2f6\ub2e4\uba74 <strong>&#8211;no-timestamp<\/strong> \uc635\uc158\uc744 \ucd94\uac00\ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 --no-timestamp \/\uc804\uccb4\ubc31\uc5c5<\/pre>\n<p>&nbsp;<\/p>\n<h1># \ubcf5\uc6d0 \uc900\ube44<\/h1>\n<p>\ubcf5\uc6d0\ud558\uae30 \uc704\ud574\uc11c\ub294 \ubc31\uc5c5\uc774 \uc9c4\ud589\ub418\ub294 \ub3d9\uc548 \uc0dd\uc131\ub41c MySQL\uc758 \ub85c\uadf8\ub97c \uc801\uc6a9\uc2dc\ucf1c\uc57c \ud55c\ub2e4.<br \/>\n\ub85c\uadf8 \uc801\uc6a9\uc740 <strong>&#8211;apply-log<\/strong> \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo innobackupex --apply-log \/\uc804\uccb4\ubc31\uc5c5<\/pre>\n<p>&nbsp;<\/p>\n<h1># \ubcf5\uc6d0<\/h1>\n<p>\ubcf5\uc6d0 \uc900\ube44\uae4c\uc9c0 \ub9c8\ucce4\ub2e4\uba74 <strong>&#8211;copy-back<\/strong> \uc635\uc158\uc73c\ub85c \ubcf5\uc6d0 \ud560 \uc218 \uc788\ub2e4.<br \/>\n\ubcf5\uc6d0\uc740 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac\ub97c MySQL \ub370\uc774\ud130 \ub514\ub809\ud1a0\ub9ac\uc5d0 \ubcf5\uc0ac\ud558\ub294 \uac83\uacfc \ub3d9\uc77c\ud558\ub2e4.<br \/>\n\ub54c\ubb38\uc5d0 MySQL\uc758 \ub3d9\uc791\uc744 \uc911\uc9c0\uc2dc\ucf1c\uc57c \ud558\uba70 \ub370\uc774\ud130 \ub514\ub809\ud1a0\ub9ac\ub294 \ube44\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n\uc6b0\ubd84\ud22c\uc5d0\uc11c MySQL\uc758 \uae30\ubcf8 \ub370\uc774\ud130 \ub514\ub809\ud1a0\ub9ac\ub294 <strong>\/var\/lib\/mysql<\/strong> \uc774\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo service mysql stop\r\n$ sudo rm -rf \/var\/lib\/mysql\/*\r\n$ sudo innobackupex --copy-back \/\uc804\uccb4\ubc31\uc5c5<\/pre>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c MySQL \ub370\uc774\ud130 \ub514\ub809\ud1a0\ub9ac\uc758 \uc18c\uc720\uc790\uc640 \uadf8\ub8f9\uc744 \uc7ac\uc124\uc815\ud558\uace0 MySQL\uc744 \ub2e4\uc2dc \uc2dc\uc791\ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true \">$ sudo chown -R mysql:mysql \/var\/lib\/mysql\r\n$ sudo service mysql start<\/pre>\n<p>&nbsp;<\/p>\n<h1># \uc99d\ubd84 \ubc31\uc5c5<\/h1>\n<p>\ucd5c\ucd08 \uc99d\ubd84 \ubc31\uc5c5\uc744 \ud558\uae30 \uc704\ud574\uc11c\ub294 \uc804\uccb4 \ubc31\uc5c5\uc744 \ud574\ub193\uc740 \ub514\ub809\ud1a0\ub9ac\uac00 \uc900\ube44\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n\uc99d\ubd84 \ubc31\uc5c5\uc774\ub780 \ub9c8\uc9c0\ub9c9 \ubc31\uc5c5 \uc774\ud6c4\ub85c \ubcc0\uacbd\ub41c \uc0ac\ud56d\ub9cc \uc774\uc5b4\uc11c \ubc31\uc5c5\ud558\ub294 \uac83\uc774\ubbc0\ub85c \uae30\ubcf8\uc801\uc73c\ub85c \uc804\uccb4 \ubc31\uc5c5\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true \">$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 --no-timestamp \/\uc804\uccb4\ubc31\uc5c5<\/pre>\n<p>\uc99d\ubd84 \ubc31\uc5c5\uc740 <strong>&#8211;incremental<\/strong> \uc635\uc158\uc73c\ub85c \ud560 \uc218 \uc788\ub2e4.<br \/>\n\uc5ec\uae30\uc11c \uc911\uc694\ud55c\uac74 \uc5b4\ub290 \uc2dc\uc810\ubd80\ud130 \ubc31\uc5c5\uc744 \uc2dc\uc791\ud560\uc9c0 <strong>LSN<\/strong>(log sequence number)\uc744 \uc804\ub2ec\ud574\uc57c \ud55c\ub2e4.<br \/>\nLSN \uc804\ub2ec \ubc29\ubc95\uc740 \uc544\ub798\uc640 \uac19\uc740 \ubc29\ubc95\uc774 \uc788\ub2e4.<\/p>\n<ol>\n<li>LSN(log sequence number) \uac12\uc744 \uc9c1\uc811 \uba85\uc2dc\ud558\ub294 \ubc29\ubc95<br \/>\n<strong>&#8211;incremental-lsn=LSN<\/strong><\/li>\n<li>xtrabackup_checkpoints \ud30c\uc77c\uc774 \uc788\ub294 \ub514\ub809\ud1a0\ub9ac\ub97c \uc9c0\uc815\ud558\ub294 \ubc29\ubc95<br \/>\n<strong>&#8211;incremental-basedir=DIR<\/strong><\/li>\n<\/ol>\n<p>\ub450 \ubc29\ubc95 \ubaa8\ub450 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac \ud558\uc704\uc758 <strong>xtrabackup_checkpoints<\/strong> \ud30c\uc77c\uc758 to_lsn \uac12\uc744 \uc774\uc6a9\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ cat \/\uc804\uccb4\ubc31\uc5c5\/xtrabackup_checkpoints\r\nbackup_type = full-backuped\r\nfrom_lsn = 0\r\nto_lsn = 1887987291\r\nlast_lsn = 1887987291\r\ncompact = 0<\/pre>\n<p>\ub85c\uceec \ubc31\uc5c5\uc5d0\ub294 2\ubc88 \ubc29\ubc95\uc73c\ub85c\ub3c4 \ucda9\ubd84\ud55c\ub370 \uc6d0\uaca9 \ubc31\uc5c5\uc744 \uc704\ud574\uc11c\ub294 1\ubc88 \ubc29\ubc95\uc744 \uc751\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\ub2e4.<br \/>\n\uc774 \ubb38\uc11c\uc5d0\uc11c\ub294 1\ubc88 \ubc29\ubc95\uc73c\ub85c \uacc4\uc18d \uc124\uba85\ud558\uaca0\ub2e4.<\/p>\n<p>\uc774\ud6c4 \uc9c4\ud589\uc744 \ud3b8\ud558\uac8c \ud558\uae30 \uc704\ud574\uc11c xtrabackup_checkpoints \ud30c\uc77c\uc5d0\uc11c to_lsn \uac12\uc744 \uac00\uc838\uc624\ub294 \uac04\ub2e8\ud55c \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc790.<\/p>\n<pre class=\"theme:terminal lang:default decode:true \">$ to_lsn=`grep to_lsn .\/\uc804\uccb4\ubc31\uc5c5\/xtrabackup_checkpoints | awk '{ print $3 }'`\r\n$ echo $to_lsn<\/pre>\n<p>\uc99d\ubd84 \ubc31\uc5c5\ub3c4 \uc804\uccb4 \ubc31\uc5c5\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c &#8211;no-timestamp \uc635\uc158\uc744 \ucd94\uac00\ud574\uc11c \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uadf8\ub7fc \uc704\uc5d0\uc11c \uc124\uba85\ud55c\u00a0\u00a0&#8211;incremental, &#8211;incremental-lsn \uc635\uc158\uacfc LSN \uac12\uc744 \uac00\uc838\uc624\ub294 \uba85\ub839\uc744 \uc774\uc6a9\ud574\uc11c \uc99d\ubd84 \ubc31\uc5c5 \uba85\ub839\uc744 \ub0b4\ub824\ubcf4\uc790.<\/p>\n<pre class=\"theme:terminal wrap:true lang:default decode:true\">$ to_lsn=`grep to_lsn .\/\uc804\uccb4\ubc31\uc5c5\/xtrabackup_checkpoints | awk '{ print $3 }'`\r\n$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 --incremental --incremental-lsn=$to_lsn --no-timestamp \/\uc99d\ubd84\ubc31\uc5c5_1<\/pre>\n<p>LSN \uac12\ub9cc \uc81c\ub300\ub85c \uc804\ub2ec\ub418\uba74 \uc99d\ubd84 \ubc31\uc5c5\ub3c4 \uc5b4\ub835\uc9c0 \uc54a\ub2e4.<br \/>\n\uc774\uc5b4\uc11c \uc0c8\ub85c\uc6b4 \uc99d\ubd84 \ubc31\uc5c5\uc744 \ud558\ub824\uba74 \ucd5c\uadfc \ubc31\uc5c5\ud55c \ub514\ub809\ud1a0\ub9ac \ud558\uc704\uc758 xtrabackup_checkpoints \ud30c\uc77c\uc5d0\uc11c to_lsn \uac12\uc744 \uac00\uc838\uc640\uc11c \ucc98\uc74c \uacfc\uc815\uc744 \ubc18\ubcf5\ud558\uba74 \ub41c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true \">$ to_lsn=`grep to_lsn .\/\uc99d\ubd84\ubc31\uc5c5_1\/xtrabackup_checkpoints | awk '{ print $3 }'`\r\n$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 --incremental --incremental-lsn=$to_lsn --no-timestamp \/\uc99d\ubd84\ubc31\uc5c5_2<\/pre>\n<p>\uc774\ub807\ub4ef \uc99d\ubd84\ubc31\uc5c5\uc740 \uc804\uccb4 \ubc31\uc5c5\uc5d0 \uc790\ub3d9\uc73c\ub85c \ud569\uccd0\uc9c0\ub294 \uac83\uc774 \uc544\ub2c8\ub77c \ubcc4\ub3c4\uc758 \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc0dd\uc131\uc774 \ub418\uba70 \ubcf5\uc6d0\uc744 \uc704\ud574\uc11c\ub294 \uc804\uccb4 \ubc31\uc5c5\uc5d0 \ud569\uccd0\uc57c \ud55c\ub2e4.<\/p>\n<p style=\"padding-left: 30px;\">\uc804\uccb4 \ubc31\uc5c5 + \uc99d\ubd84 \ubc31\uc5c5 1 + \uc99d\ubd84 \ubc31\uc5c5 2 + &#8230;<\/p>\n<p>&nbsp;<\/p>\n<h1># \uc804\uccb4 \ubc31\uc5c5\uc5d0 \uc99d\ubd84 \ubc31\uc5c5\uc744 \ud569\uce58\uae30<\/h1>\n<p>\uc804\uccb4 \ubc31\uc5c5\uc5d0 \uc99d\ubd84 \ubc31\uc5c5\uc744 \ud569\uce58\ub824\uba74 \uc77c\ub2e8 \uc804\uccb4 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac\uc5d0 <strong>&#8211;apply-log &#8211;redo-only<\/strong> \uc635\uc158\uc744 \uc801\uc6a9\ud55c\ub2e4.<br \/>\n\uadf8\ub9ac\uace0 \uc99d\ubd84 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac\ub97c \uc21c\uc11c\ub300\ub85c &#8211;apply-log &#8211;redo-only \uc635\uc158\uacfc \ud568\uaed8 \uc804\uccb4 \ubc31\uc5c5\uc5d0 \uc801\uc6a9\ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true \">$ sudo innobackupex --apply-log --redo-only \/\uc804\uccb4\ubc31\uc5c5\r\n$ sudo innobackupex --apply-log --redo-only \/\uc804\uccb4\ubc31\uc5c5 --incremental-dir=\/\uc99d\ubd84\ubc31\uc5c5_1\r\n$ sudo innobackupex --apply-log --redo-only \/\uc804\uccb4\ubc31\uc5c5 --incremental-dir=\/\uc99d\ubd84\ubc31\uc5c5_2<\/pre>\n<p>\uc804\uccb4 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac\uc640 \ub9c8\uc9c0\ub9c9 \uc99d\ubd84 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac \uac01\uac01 \ud558\uc704\uc758 xtrabackup_checkpoints \ud30c\uc77c\uc744 \uc5f4\uc5b4\ubcf4\uba74 to_lsn \uac12\uc774 \ub3d9\uc77c\ud558\ub2e4\ub294 \uac83\uc744 \ud655\uc778 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uc99d\ubd84 \ubc31\uc5c5\uc744 \uc804\uccb4 \ubc31\uc5c5\uc5d0 \ud569\uce58\uace0 \ub098\uba74 \uc99d\ubd84 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac\ub294 \uc0ad\uc81c\ud574\ub3c4 \ub41c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h1># \uc99d\ubd84 \ubc31\uc5c5 \ubcf5\uc6d0<\/h1>\n<p>\uc804\uccb4 \ubc31\uc5c5\uc5d0 \uc99d\ubd84 \ubc31\uc5c5\uc744 \ubaa8\ub450 \ud569\ucce4\ub2e4\uba74 \uc774\ud6c4 \ubcf5\uc6d0\uc740 \uc77c\ubc18\uc801\uc778 \uc804\uccb4 \ubc31\uc5c5 \ubcf5\uc6d0\uacfc \ub3d9\uc77c\ud558\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo innobackupex --apply-log \/\uc804\uccb4\ubc31\uc5c5\r\n$ sudo innobackupex --copy-back \/\uc804\uccb4\ubc31\uc5c5\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h1># \uc99d\ubd84 \ubc31\uc5c5 \ud301<\/h1>\n<p>\ub9e4\ubc88 \uc99d\ubd84 \ubc31\uc5c5\uc744 \ud560\ub54c\ub9c8\ub2e4 \ub514\ub809\ud1a0\ub9ac\uac00 \ub298\uc5b4\ub098\uace0 \ub098\uc911\uc5d0 \ud55c\ubc88\uc5d0 \ud569\uce58\uae30\uac00 \ubd88\ud3b8\ud558\ub2e4\uba74 \uc99d\ubd84 \ubc31\uc5c5\uc744 \ud558\uc790\ub9c8\uc790 \ubc14\ub85c \uc804\uccb4 \ubc31\uc5c5\uc5d0 \ud569\uce58\uba74 \ub41c\ub2e4.<\/p>\n<pre class=\"theme:terminal nums:true lang:default decode:true\">$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 \/\uc804\uccb4\ubc31\uc5c5\r\n$ sudo innobackupex --apply-log --redo-only \/\uc804\uccb4\ubc31\uc5c5\r\n$ to_lsn=`grep to_lsn .\/\uc804\uccb4\ubc31\uc5c5\/xtrabackup_checkpoints | awk '{ print $3 }'`\r\n$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 --incremental --incremental-lsn=$to_lsn --no-timestamp \/\uc99d\ubd84\ubc31\uc5c5\r\n$ sudo innobackupex --apply-log --redo-only --incremental-dir=\/\uc99d\ubd84\ubc31\uc5c5 \/\uc804\uccb4\ubc31\uc5c5\r\n$ sudo rm -rf \/\uc99d\ubd84\ubc31\uc5c5\r\n<\/pre>\n<p>\uc704\uc758 \uba85\ub839 \uc774\ud6c4 \uc804\uccb4 \ubc31\uc5c5\uc744 \uc81c\uc678\ud55c 3 ~ 6\ubc88 \ub77c\uc778\uc758 \uacfc\uc815\uc744 \ubc18\ubcf5\ud558\uba74 \ud55c\uac1c\uc758 \ub514\ub809\ud1a0\ub9ac\uc5d0 \ubc31\uc5c5\uc744 \uc774\uc5b4\uac08 \uc218 \uc788\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h1># \uc6d0\uaca9 \uc804\uccb4 \ubc31\uc5c5<\/h1>\n<p>\uc6d0\uaca9 \ubc31\uc5c5\uc774\ub77c\uace0 \ud558\uc9c0\ub9cc \uc6d0\uaca9 MySQL\uc5d0 \uc811\uc18d\ud558\uc5ec \ubc31\uc5c5\ud558\ub294 \uac83\uc740 \ubd88\uac00\ub2a5\ud558\uace0 \ub85c\uceec\uc5d0\uc11c \ubc31\uc5c5\ud55c \uac83\uc744 \uc6d0\uaca9\uc73c\ub85c \uc804\uc1a1\ud558\ub294 \ubc29\uc2dd\uc744 \uc4f4\ub2e4. \ubc31\uc5c5\uc744 \uc804\ub2ec\ubc1b\uc744 \uc6d0\uaca9 \ud638\uc2a4\ud2b8\ub294 <strong>&#8211;remote-host<\/strong> \uc635\uc158\uc73c\ub85c \uc9c0\uc815\ud55c\ub2e4.<br \/>\n\uc6d0\uaca9 \uc804\uc1a1\uc5d0\ub294 scp\uac00 \uc0ac\uc6a9\ub418\ub294\ub370 <strong>&#8211;scpopt<\/strong> \uc635\uc158\uc73c\ub85c scp \uad00\ub828 \uc635\uc158\uc744 \ubd80\uc5ec\ud560 \uc218 \uc788\uace0 \uae30\ubcf8 \uc635\uc158\uc740 &#8216;-Cp -c arcfour&#8217; \uc774\ub2e4.<br \/>\n&#8211;remote-host \uc635\uc158\uacfc &#8211;scpopt \uc635\uc158\uc744 \uc81c\uc678\ud558\uba74 \uc77c\ubc18\uc801\uc778 \uc804\uccb4 \ubc31\uc5c5\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 --no-timestamp \/\uc804\uccb4\ubc31\uc5c5 --remote-host=REMOTE@SERVER --scpopt='-Cp -c arcfour'<\/pre>\n<p>&nbsp;<\/p>\n<h1># \uc6d0\uaca9 \uc99d\ubd84 \ubc31\uc5c5<\/h1>\n<p>\uc99d\ubd84 \ubc31\uc5c5\uc740 \ubc31\uc5c5 \ub370\uc774\ud130\ub97c \uc2a4\ud2b8\ub9bc\uc73c\ub85c \ub0b4\ubcf4\ub0bc \uc218 \uc788\uc73c\uba70 <strong>&#8211;stream=xbstream<\/strong> \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4.<br \/>\n\uc2a4\ud2b8\ub9bc\uc73c\ub85c \ucd9c\ub825\ub418\ub294 \ub370\uc774\ud130\ub294 \ud30c\uc774\ud504\ub97c \ud1b5\ud574 ssh \uba85\ub839\uc73c\ub85c \uc6d0\uaca9 \uc11c\ubc84\uc5d0 \uc804\uc1a1\ud560 \uc218 \uc788\uc73c\uba70 \uc6d0\uaca9 \uc11c\ubc84\uc5d0\uc11c\ub294 <strong>xbstream<\/strong> \uc744 \uc774\uc6a9\ud558\uc5ec \uc804\uc1a1\ub41c \ub370\uc774\ud130\ub97c \ud480\uc5b4 \ub193\uc73c\uba74 \ub41c\ub2e4. \ub54c\ubb38\uc5d0 \uc6d0\uaca9 \uc11c\ubc84\uc5d0\ub3c4 XtraBackup\uc774 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<p>\uc99d\ubd84 \ubc31\uc5c5 \uc2a4\ud2b8\ub9bc \ub370\uc774\ud130\ub97c ssh\ub85c \uc6d0\uaca9 \uc11c\ubc84\uc5d0 \uc804\uc1a1\ud558\uace0 \uc6d0\uaca9 \uc11c\ubc84\uc5d0\uc11c\ub294 xbstream\uc73c\ub85c \uc804\uc1a1\ub41c \ub370\uc774\ud130\ub97c \ud480\uc5b4\ub193\ub294 \uba85\ub839\uc5b4\uc740 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ sudo innobackupex --user=DB\uc0ac\uc6a9\uc790 --password=DB\uc554\ud638 --incremental --incremental-lsn=LSN \/tmp --stream=xbstream | ssh REMOTE@SERVER \"cat - | xbstream -x -C \/\uc99d\ubd84\ubc31\uc5c5\"<\/pre>\n<p>\uba85\ub839\uc774 \ubcf5\uc7a1\ud574 \ubcf4\uc774\uc9c0\ub9cc \ucc28\uadfc\ucc28\uadfc \ub72f\uc5b4\ubcf4\uba74 \uc5b4\ub835\uc9c0 \uc54a\ub2e4.<\/p>\n<p>\uc704 \uba85\ub839\uc758 \uc55e\ubd80\ubd84\uc740 \uc77c\ubc18\uc801\uc778 \uc99d\ubd84 \ubc31\uc5c5\uacfc \ub2e4\ub97c\ubc14 \uc5c6\ub2e4. \ub2e4\ub9cc \ubc31\uc5c5 \uacbd\ub85c\uac00 \/tmp\ub85c \ub418\uc5b4\uc788\ub294\ub370 \uc784\uc2dc\ub85c \uc0ac\uc6a9\ub418\ub294 \uacbd\ub85c\uc77c\ubfd0 \uc2e4\uc81c \ub370\uc774\ud130\ub294 \ubc14\ub85c \uc2a4\ud2b8\ub9bc\uc73c\ub85c \uc804\uc1a1\ub41c\ub2e4.<\/p>\n<p>\uba85\ub839\uc758 \ub4b7\ubd80\ubd84\uc740 \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \ub3d9\uc791 \uc21c\uc11c \uadf8\ub300\ub85c \ub098\uc5f4\ud588\uc744 \ubfd0\uc774\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">--stream=xbstream | ssh REMOTE@SERVER \"cat - | xbstream -x -C \/\uc99d\ubd84\ubc31\uc5c5\"<\/pre>\n<pre class=\"lang:default decode:true\">\uc2a4\ud2b8\ub9bc \ub0b4\ubcf4\ub0b4\uae30 | \uc6d0\uaca9 \uc11c\ubc84\uc5d0 ssh\ub85c \uba85\ub839 \"\uc804\uc1a1\ub41c \ub370\uc774\ud130 \ud480\uc5b4\ub193\uae30\"<\/pre>\n<p>&nbsp;<\/p>\n<h1># \uc6d0\uaca9 \uc99d\ubd84 \ubc31\uc5c5 \uc2a4\ud06c\ub9bd\ud2b8<\/h1>\n<p>\uac04\ub2e8\ud55c \uba85\ub839\uc73c\ub85c \uc790\ub3d9\ud654\ub41c \uc6d0\uaca9 \ubc31\uc5c5\uc744 \ud560 \uc218 \uc788\uc73c\uba74 \uc88b\uaca0\uc9c0\ub9cc \uc544\uc27d\uac8c\ub3c4 \uadf8\ub807\uc9c0 \uc54a\ub2e4. XtraBackup\uc758 \ub2e4\uc591\ud55c \uba85\ub839\uc744 \uc870\ud569\ud558\uc5ec \uc6d0\uaca9 \ubc31\uc5c5\uc744 \uad6c\ud604\ud574\uc57c \ud55c\ub2e4. \uadf8\ub7ec\uae30 \uc704\ud574\uc11c\ub294 \uc11c\ubc84\uc758 ssh \uc124\uc815\uacfc \uad8c\ud55c \uc124\uc815 \ub4f1 \ucd94\uac00\uc801\uc778 \uc11c\ubc84 \uc6b4\uc601 \uc9c0\uc2dd\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n<p>\uc544\ub798\ub294 \ubc31\uc5c5 \uc11c\ubc84\uc5d0\uc11c DB \uc11c\ubc84\ub85c\ubd80\ud130 MySQL\uc758 \ub370\uc774\ud130\ub97c \ubc31\uc5c5\ud558\ub294 \uc2a4\ud06c\ub9bd\ud2b8 \uc608\uc81c\ub2e4. \uac01 \ucf54\ub4dc\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \ud558\uc9c0 \uc54a\uaca0\ub2e4. \uc11c\ubc84\ubcc4\ub85c \ud658\uacbd\uc774 \ub2e4\uc591\ud558\ubbc0\ub85c \uac00\uc838\ub2e4 \uc4f0\uae30\ub9cc \ud558\uba74 \ub418\ub294 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub9cc\ub4e4 \uc218\ub294 \uc5c6\ub2e4.<\/p>\n<p>\uc2a4\ud06c\ub9bd\ud2b8\uac00 \ubcf5\uc7a1\ud574 \ubcf4\uc778\ub2e4\uace0 \uac71\uc815\ud558\uc9c0 \ub9d0\uc790. \uc9c0\uae08\uae4c\uc9c0 \uc124\uba85\ud55c\u00a0XtraBackup\uc758 \uc0ac\uc6a9\ubc95\uc744 \uc774\ud574\ud558\uace0 \uc788\ub2e4\uba74 \uc544\ub798 \uc2a4\ud06c\ub9bd\ud2b8\ub294 \ubcc4 \uac83 \uc544\ub2cc \ub2e8\uc21c\ud55c \uba85\ub839\uc744 \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \uac83\uc77c \ubfd0\uc774\ub2e4.<\/p>\n<pre class=\"lang:sh decode:true\">#! \/bin\/bash\r\n\r\nset -e\r\n\r\nbase_dir=\"\/backup\"\r\ndb_pw=\"abcd\"\r\ndb_host=\"root@db\"\r\nbackup_host=\"my@backup\"\r\n\r\ncd $base_dir\r\n\r\n# \uc804\uccb4 \ubc31\uc5c5\r\nif [ ! -d .\/full ]\r\nthen\r\n    echo \"[DB full backup] start\"\r\n\r\n    ssh ${db_host} \"innobackupex --user=root --password=${db_pw} --no-timestamp --scpopt='-l 24000 -Cp -c arcfour' --remote-host=${backup_host} ${base_dir}\/full\"\r\n\r\n    innobackupex --apply-log --redo-only .\/full\r\n\r\n    echo \"[DB full backup] end\"\r\nfi\r\n\r\n# \uc624\ub798\ub41c \uc99d\ubd84 \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac\uac00 \ub0a8\uc544\uc788\uc73c\uba74 \uc81c\uac70\r\nfind . -name 'incremental' -type d -mmin +60 | xargs rm -rf\r\n\r\n# \uc99d\ubd84 \ubc31\uc5c5\r\nif [ ! -d .\/incremental ]\r\nthen\r\n    mkdir .\/incremental\r\n\r\n    to_lsn=`grep to_lsn .\/full\/xtrabackup_checkpoints | awk '{ print $3 }'`\r\n\r\n    echo \"[DB incremental backup:to_lsn=${to_lsn}] start\"\r\n\r\n    ssh ${db_host} \"rm -rf \/tmp\/xtrabackup\"\r\n    ssh ${db_host} \"innobackupex --user=root --password=${db_pw} --incremental --incremental-lsn=${to_lsn} --stream=xbstream --scpopt='-l 8000 -Cp -c arcfour' \/tmp\/xtrabackup | ssh ${backup_host} \\\"cat - | xbstream -x -C ${base_dir}\/incremental\/\\\"\"\r\n\r\n    innobackupex --apply-log --redo-only --incremental-dir=${base_dir}\/incremental .\/full\r\n\r\n    rm -rf .\/incremental\r\n\r\n    echo \"[DB incremental backup] end\"\r\nfi<\/pre>\n<p>\uc644\uc131\ub41c \uc2a4\ud06c\ub9bd\ud2b8\ub97c cron\uc5d0 \ub4f1\ub85d\ud558\uc5ec \uc8fc\uae30\uc801\uc73c\ub85c \ubc31\uc5c5\uc774 \ub418\ub3c4\ub85d \ud558\uba74 \ub41c\ub2e4.<\/p>\n<p>\ub0b4\uac00 \uc0dd\uac01\ud558\uae30\uc5d0 XtraBackup\uc774 \uac00\uc7a5 \uac00\ubccd\uace0 \ube60\ub974\uac8c \ub3d9\uc791\ud560 \uc218 \uc788\ub294 \ud658\uacbd\uc740 MySQL\uc758 \ubaa8\ub4e0 \ud14c\uc774\ube14\uc774 InnoDB \uc5d4\uc9c4\uc744 \uc0ac\uc6a9\ud558\uba70 <strong>innodb_file_per_table<\/strong> \uc635\uc158\uc774\u00a0\ud65c\uc131\ud654\ub418\uc5b4 \uc788\uc744 \ub54c\uc778 \uac83 \uac19\ub2e4.<\/p>\n<p>\uc774\uc81c\ub294 \uc2e4\ubb34\uc5d0\uc11c MySQL\uc744 \ubc31\uc5c5\ud558\ub294 \ub3c4\uad6c\ub85c mysqldump\ub97c \ub300\uc2e0 XtraBackup\uc744 \uc0ac\uc6a9\ud558\uc790. \ubb3c\ub860 mysqldump\uac00 \ud544\uc694\ud55c \uacbd\uc6b0\ub3c4 \uc788\ub2e4. \ud558\uc9c0\ub9cc \ubd84\uba85\ud55c \uac74 \uc804\uccb4\ub97c \ubc31\uc5c5\ud558\ub294 \uc6a9\ub3c4\ub85c\ub294 mysqldump\ub294 \ubd88\ud3b8\ud558\ub2e4.<\/p>\n<div class=\"gdict-dialog\" style=\"display: none;\"><\/div>\n<div class=\"gdict-dialog\" style=\"display: none;\"><\/div>\n<div class=\"gdict-dialog\" style=\"display: none;\"><\/div>\n<div class=\"gdict-dialog\" style=\"display: none;\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p># Percona XtraBackup \uc18c\uac1c \uc774\ubbf8 \uc608\uc804\uc5d0 XtraBackup\uc744 \uac04\ub2e8\ud558\uac8c \uc18c\uac1c\ud55c \uae00\uc744 \uc37c\uc5c8\ub294\ub370 \uadf8 \uae00\uc758 \ub0b4\uc6a9\ub9cc\uc73c\ub85c\ub294 XtraBackup\uc744 \uc2e4\ubb34\uc5d0 \uc4f0\uae30\uc5d0 \ud131\uc5c6\uc774 \ubd80\uc871\ud558\ub2e4. \uadf8\ub798\uc11c \uc774\ubc88\uc5d0\ub294 XtraBackup\uc744 \uc81c\ub300\ub85c \uc4f8 \uc218 \uc788\ub294 \ubb38\uc11c\ub97c \ub9cc\ub4e4\uc5c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c MySQL \ubc31\uc5c5\uc73c\ub85c\u00a0mysqldump\ub97c \uc0ac\uc6a9\ud558\ub294\ub370 \ub9e4\ubc88 \uc804\uccb4\ub97c \ubc31\uc5c5\ud558\ub294 \ubc29\uc2dd\uc774\ubbc0\ub85c \ub370\uc774\ud130\uac00 \ucee4\uc9c8\uc218\ub85d \ubc31\uc5c5\uc5d0 \uac78\ub9ac\ub294 \uc2dc\uac04\uc774 \uae38\uc5b4\uc9c0\uace0 \ubd80\ub2f4\uc774 \ucee4\uc9c4\ub2e4. \ubfd0\ub9cc \uc544\ub2c8\ub77c \ubc31\uc5c5\ub41c \ub370\uc774\ud130\ub97c \ubcf5\uad6c\ud558\ub294\ub370\ub3c4 \ubb34\ucc99 \uae34 \uc2dc\uac04\uc744 \ud544\uc694\ub85c \ud55c\ub2e4. \ud558\uc9c0\ub9cc [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[8],"tags":[256,258,264,465,260,255,459,259,460,257,464,463,462,461],"_links":{"self":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1290"}],"collection":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1290"}],"version-history":[{"count":10,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1290\/revisions"}],"predecessor-version":[{"id":1300,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1290\/revisions\/1300"}],"wp:attachment":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}