ÃֽŠ°Ô½Ã±Û(DB)
2019.02.11 / 13:13

MySQL ¹é¾÷ ¹× º¹±¸Çϱâ

hanulbit
Ãßõ ¼ö 161

¢Ã mysql ¹é¾÷ 4°¡Áö ¹æ¹ý

 

1. Data µð·ºÅ丮 ¹é¾÷

- Data µð·ºÅ丮¸¦ Á¤±âÀûÀ¸·Î ¹é¾÷ÇÏ°í ¹®Á¦ ¹ß»ýÇßÀ» ¶§ µ¤¾î¾²¸é µÈ´Ù.

 

2. mysqldump ¸¦ »ç¿ëÇÏ´Â ¹æ¹ý

- ¹é¾÷ ½Ã¿¡ µ¥ÀÌÅͺ£À̽º¿¡ ¶ôÀ» °É¼ö ¾ø¾î º¯°æÀÌ ¹ß»ýÇÏ¸é ´Ù½Ã ¹é¾÷ÇؾßÇÑ´Ù.

 

3. mysqlhotcopy ¸¦ »ç¿ëÇÏ´Â ¹æ¹ý

- mysql ¹é¾÷ ¹æ¹ý Áß ¼Óµµ°¡ ¹Ù¸£¸ç DB µð·ºÅ丮¸¦ ´Ù¸¥ À§Ä¡¿¡ Copy ÇÑ´Ù.

- Myl ¹× ARCHIVE Å×ÀÌºí¸¸ HotbackupÀ» Áö¿ø ÇÑ´Ù. ( innoDB Áö¿øÇÏÁö ¾Ê´Â´Ù. )

 

4. xtraback À» »ç¿ëÇÏ´Â ¹æ¹ý

- mysql ¼­¹ö Áß´ÜÇÏÁö ¾Ê°í InnoDB¸¦ ÇÖ¹é¾÷ÇÒ ¼ö ÀÖ´Ù.

- InnoDB Hot BackupÀº ÇÖ¹é¾÷À» Áö¿øÇϳª »ó¿ëÀ̳ª xtraback Àº ¹«·á·Î »ç¿ëÀÌ °¡´É.

 

¡Ø Hot Backup : DB ¼­¹ö°¡ ¿Â¶óÀÎ »óÅ¿¡¼­ DB¸¦ ¹é¾÷ ÇÏ´Â °Í

    Cold Backup : DB ¼­¹ö¸¦ ÁߴܽÃÅ°°í ¹é¾÷ÇÏ´Â ¹æ¹ý  

 

 

¡á mysqldump »ç¿ëÇÏ´Â ¹æ¹ý

 

Àüü µ¥ÀÌÅͺ£À̽º ¶Ç´Â Æ¯Á¤ µ¥ÀÌÅͺ£À̽º¸¦ ¹é¾÷Çϰųª ƯÁ¤Å×ÀÌºí¸¸ ¹é¾÷ ÇÒ ¼ö ÀÖ´Ù.

 

¢¹ Àüü µ¥ÀÌÅͺ£À̽º ¹é¾÷

 

- ¼­¹öÀÇ Àüü µ¥ÀÌÅͺ£À̽º¸¦ alldatabase.sql·Î ¹é¾÷ÇÑ´Ù.

 

mysqldump -uroot -p -A > alldatabase.sql

 

¢¹ Æ¯Á¤ µ¥ÀÌÅͺ£À̽º ¹é¾÷

 

- test µ¥ÀÌÅͺ£À̽º¸¸ ¹é¾÷ÇÑ´Ù.

 

mysqldump -uroot -p test > testdb.sql

 

¢¹ Æ¯Á¤ Å×ÀÌºí¸¸ ¹é¾÷

 

- test µ¥ÀÌÅͺ£À̽ºÀÇ board Å×ÀÌºí¸¸ ¹é¾÷ ÇÑ´Ù.

 

mysqldump -uroot -p test board > testdbboard.sql

 

 

¡Ø ƯÁ¤ µ¥ÀÌŸº£À̽ºÀÇ Å×À̺í»ý¼º(schema) Á¤º¸¸¸ ¹é¾÷ÇÏ´Â ¹æ¹ý

 

mysqldump -uroot -p --no-data test > testdbschema.sql

 

- mysqldump-? ¸í·É¾î·Î ¿©·¯ ¿É¼ÇÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.

 


¢¹ InnoDB¿¡¼­ Æ®¸®°Å , ÇÁ·Î½ÃÁ®, ÇÔ¼ö Æ÷ÇÔÇÏ¿© ¹é¾÷Çϱâ


  - Æ®¸®°Å´Â default°ªÀ¸·Î ¹é¾÷ÀÌ ½ÇÇàµÇ³ª ÀúÀå ÇÁ·Î½ÃÁ®´Â ¹é¾÷µÇÁö ¾Ê´Â´Ù. 


  - ÀúÀå ÇÁ·Î½ÃÁ®°¡ ¹é¾÷µÇ°Ô Çϱâ À§Çؼ­´Â ¿É¼Ç¿¡  --routines À» ³Ö¾îÁà¾ß ÇÑ´Ù.  


mysqldump -u°èÁ¤ -pºñ¹Ð¹øÈ£ --routines ƯÁ¤DB¸í > ÇÔ¼öÇÁ·Î½ÃÁ®Æ®¸®°Å.sql


(¿¹) mysqldump -uroot -ppassword --routines  northwind > northwind.sql

 

 

   ¡Ø Æ®¸®°Å , ÇÁ·Î½ÃÁ®, ÇÔ¼ö ¸¸ ¹é¾÷Çϱâ - Äõ¸®¹®¸¸  


 mysqldump -u°èÁ¤ -pºñ¹Ð¹øÈ£ --routines  --no-create-info --no-data --no-create-db --skip-opt Æ¯Á¤DB¸í > ÇÔ¼öÇÁ·Î½ÃÁ®Æ®¸®°Å.sql 

(¿¹) mysqldump -uroot -ppassword --routines --no-create-info --no-data --no-create-db --skip-opt northwind > northwind_only_sp_trigger_function.sql

ÀÌ·¸°Ô Æ®¸®Ä¿ ÇÁ·Î½ÃÁ® ÇÔ¼ö¸¸ ¹é¾÷ÇÑ °æ¿ì´Â ¹Ýµå½Ã Data¿Í Å×ÀÌºí ½ºÅ°¸¶¸¦ º°µµ·Î ¹é¾÷ ¹Þ¾Æ Áà¾ß ÇÕ´Ï´Ù


 

¡á ÀÏÁ¤ ½Ã°£¸¶´Ù ÀÚµ¿ ¹é¾÷

 

- µ¥ÀÌŸº£À̽º ¹é¾÷Àº ¾Æ¹«¸® °­Á¶Çصµ Áö³ªÄ¡Áö ¾Ê´Ù. ±×·¯³ª Àؾî¹ö¸®Áö ¾Ê°í »ç¶÷ÀÌ Çϱ⿣ ³Ê¹« ±ÍÂú´Ù. Á¤±âÀûÀ¸·Î ÀÚµ¿À¸·Î ½ÇÇàµÇ°Ô ÇÏ·Á¸é ¸®´ª½º¿¡¼­´Â Shell ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿© cron¿¡ µî·Ï½ÃÅ°¸é µÈ´Ù.

 

¢¹ ¹é¾÷ÇÒ µð·ºÅ丮 ¸¸µé±â

 

sudo mkdir /backup

 

¢¹ ¹é¾÷ µð·ºÅ丮 ±ÇÇÑ ÁÖ±â

 

sudo chmod 755 /backup

 

¢¹ shell ÇÁ·Î±×·¥ ÀÛ¼º

 

sudo vi /usr/local/bin/mysqldump.sh

 

#!/bin/sh

 

# ¹é¾÷ À§Ä¡¸¦ /backup ¾Æ·¡·Î Á¤ÇÑ´Ù.

# ¹é¾÷ ½Ã°£À» ³â-¿ù-ÀÏ Çü½ÄÀ¸·Î ÁöÁ¤ÇÑ´Ù. 
DATE=`date +"%Y%m%d%H%M%S"`

 

# »ç¿ëÀÚ °èÁ¤°ú ºñ¹Ð¹øÈ£

USERNAME="MySQL°èÁ¤"

PASSWORD="ºñ¹Ð¹øÈ£"

 

# ¹é¾÷ÇÒ µ¥ÀÌŸº£À̽º

DATABASE="test"

 

# ¹é¾÷ ÀÛ¾÷
mysqldump -u$USERNAME -p$PASSWORD  $DATABASE > /backup/mysql_db_bak_${DATE}.sql 

 

¡Ø USERNAME, PASSWORD, DATABASE ´ÙÀ½(=)Àº ²À ºÙ¿©¾´´Ù


- ½ÇÇà±ÇÇÑ ºÎ¿©

 

sudo chmod +x /usr/local/bin/mysqldump.sh

 

¢¹ cron ¸¸µé±â - ÀÏÁ¤ÇÑ ½Ã°£¿¡ ½ÇÇà µÇ°Ô ÇÑ´Ù.

 

sudo vi /etc/crontab

 

- 04½Ã 30ºÐ¿¡ ÀÚµ¿À¸·Î ½ÇÇàÇÏ°Ô ¼³Á¤

 

30 4 * * * root /usr/local/bin/mysqldump.sh

 

¢¹ Å©·Ð µ¥¸ó Àç½ÇÇà
 

sudo /etc/init.d/cron restart

 

¢¹ ½Ã½ºÅÛ ½ÃÀÛ ½Ã ½ºÅ©¸³Æ® ½ÇÇàµÇµµ·Ï ÇÑ´Ù.

 

sudo vi /etc/rc.local


- ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ°í ÀúÀåÇÑ´Ù.

 

/usr/local/bin/mysqldump.sh

 



Ãâó: https://bizadmin.tistory.com/entry/MySQL-¹é¾÷-¹×-º¹±¸Çϱâ [Happy Resource]