µ¥ÀÌÅÍÀÇ ¹æÇâÅ°¸¦ Àâ´Â °¡Àå Çö¸íÇÑ ¹æ¹ý, MySQLMySQL·Î µ¥ÀÌÅͺ£À̽º¸¦ È¿°úÀûÀ¸·Î ±¸¼ºÇÏ°í ¿î¿µÇÏ´Â ¹æ¹ýÀ» ¹è¿öº¾½Ã´Ù. ÀÌ Ã¥Àº ÃֽŠ¹öÀüÀÎ MySQL 8.0(MySQL 5.7 Á¤º¸ Æ÷ÇÔ)À» ¹ÙÅÁÀ¸·Î °·ÂÇÑ RDBMS¸¦ ÃÖ´ëÇÑ È°¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ ÀλçÀÌÆ®¿Í µµ±¸¸¦ ¼Ò°³ÇÕ´Ï´Ù. ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º¸¦ ±¸¼ºÇÏ°í °ü¸®ÇÏ´Â ¸ðµç ÀÌ°¡ MySQLÀ» ½±°Ô È°¿ëÇϵµ·Ï ´Ù¾çÇÑ ½Ç½ÀÀ» Á¦°øÇÕ´Ï´Ù.Àü ¼¼°èÀÇ ¸¹Àº °í°´°ú Çù¾÷ÇÏ¸ç ´Ù¾çÇÑ »ç¿ë »ç·Ê¸¦ °æÇèÇÑ ÀúÀÚµéÀÌ °³¹ßÀÚ¿Í DBA°¡ ºñ¿ëÀ» ÃÖ¼ÒÈÇÏ°í °¡¿ë¼º°ú ¼º´ÉÀ» ±Ø´ëÈÇÏ´Â ¹æ¹ýÀ» ¾È³»ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽ºÀÇ ±âº» °³³äºÎÅÍ °í±Þ Äõ¸® ÀÛ¼º, ¸ð´ÏÅ͸µ, ¿À·ù ÇØ°á, µ¥ÀÌÅͺ£À̽º °ü¸® ¹× º¸¾È, ¹é¾÷ ¹× º¹±¸, È¿À²¼º Çâ»óÀ» À§ÇÑ Æ©´× ¹æ¹ý¿¡ À̸£±â±îÁö MySQL¿¡ °üÇÑ ¸ðµç °ÍÀ» ¸¸³ªº¸¼¼¿ä.
ÆÛÄÚ³ªÀÇ ¼±ÀÓ Áö¿ø ¿£Áö´Ï¾îÀÌÀÚ ¿À¶óŬ ¿¡À̽º ¾î¼Ò½Ã¿¡ÀÌÆ®´Ù. ºñ´Ï½Ã¿ì½º´Â ÄÄÇ»ÅÍ °øÇÐ Çлç ÇÐÀ§¸¦ ¹Þ°í 13³â µ¿¾È µ¥ÀÌÅͺ£À̽º °ü·Ã ÀÏ¿¡ Á¾»çÇß´Ù. ±â¾÷ÀÇ ÁÖ¿ä ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ µ¥ÀÌÅͺ£À̽º¸¦ ¼³°èÇÑ °æ·ÂÀÌ ÀÖÀ¸¸ç, ¼ö³â°£ MySQL ¹× MongoDB ¿¡ÄڽýºÅÛÀÇ Àü¹®°¡·Î È°¾àÇß´Ù. Áö¿øÆÀ¿¡¼ ±Ù¹«ÇÏ¸é¼ ´Ù¾çÇÑ ½Ã³ª¸®¿À¿Í º¹À⼺À» Áö´Ñ ¼ö¹é °¡ÁöÀÇ ´Ù¾çÇÑ »ç·Ê·Î ÆÛÄÚ³ªÀÇ °í°´»ç¸¦ Áö¿øÇß´Ù. ¶Ç À¯·´°ú ¾Æ½Ã¾Æ, ºÏ¹Ì, ³²¹Ì µî¿¡¼ ¿¸®´Â ÄÜÆÛ·±½º¿¡ ¹ßÇ¥ÀÚ·Î Âü¿©ÇÏ´Â µî OS Ä¿¹Â´ÏƼ¿¡¼ È°¹ßÈ÷ È°µ¿ÇÏ°í ÀÖ´Ù.
PART I MySQL ½ÃÀÛChapter 1 MySQL ¼³Ä¡_1.1 MySQLÀÇ Æ÷Å© ¹öÀü__1.1.1 MySQL Ä¿¹Â´ÏƼ ¿¡µð¼Ç__1.1.2 MySQL ÆÛÄÚ³ª ¼¹ö__1.1.3 MySQL ¿£ÅÍÇÁ¶óÀÌÁî ¿¡µð¼Ç_1.2 ¼³Ä¡ÇÒ Ç÷§Æû°ú ¹öÀü ¼±ÅÃ__1.2.1 1´Ü°è: ¹èÆ÷ÆÇ ´Ù¿î·Îµå__1.2.2 2´Ü°è: ¹èÆ÷ ¹öÀü ¼³Ä¡__1.2.3 3´Ü°è: ¼³Ä¡ ÈÄ Çʼö ¼³Á¤ ÀÛ¾÷__1.2.4 4´Ü°è: ¼º´É ÃøÁ¤_1.3 ¸®´ª½º¿¡ MySQL ¼³Ä¡__1.3.1 CentOS 7¿¡ MySQL ¼³Ä¡__1.3.2 ·ÏÅ° ¸®´ª½º 9¿¡ MySQL ¼³Ä¡__1.3.3 ¿ìºÐÅõ 22.04 LTS(Àç¹Ì Á©¸®ÇǽÃ)¿¡ MySQL ¼³Ä¡_1.4 ¸ÆOS Ventura¿¡ MySQL ¼³Ä¡__1.4.1 MySQL 8.0 ¼³Ä¡_1.5 À©µµ¿ì11¿¡ MySQL ¼³Ä¡_1.6 MySQL Æú´õ ±¸¼º__1.6.1 MySQL 5.7 ±âº» ÆÄÀÏ__1.6.2 MySQL 8.0 ±âº» ÆÄÀÏ_1.7 ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º »ç¿ë¹ý_1.8 µµÄ¿__1.8.1 µµÄ¿ ¼³Ä¡_1.9 »÷µå¹Ú½º »ç¿ë¹ý__1.9.1 DBdeployer ¼³Ä¡__1.9.2 DBdeployer »ç¿ë_1.10 MySQL ¼¹ö ¾÷±×·¹À̵åPART II MySQL »ç¿ë¹ýChapter 2 µ¥ÀÌÅͺ£À̽º ¸ðµ¨¸µ°ú ¼³°è_2.1 µ¥ÀÌÅͺ£À̽º °³¹ß ½ÇÆÐ »ç·Ê_2.2 µ¥ÀÌÅͺ£À̽º ¼³°è °úÁ¤_2.3 °ü°èÇü ¿£Æ¼Æ¼ ¸ðµ¨__2.3.1 ¿£Æ¼Æ¼ Ç¥Çö ¹æ¹ý__2.3.2 °ü°è Ç¥Çö__2.3.3 ºÎºÐ Âü¿©¿Í Àüü Âü¿©__2.3.4 ¿£Æ¼Æ¼ ¶Ç´Â ¼Ó¼º__2.3.5 ¿£Æ¼Æ¼ ¶Ç´Â °ü°è__2.3.6 Áß°£ ¿£Æ¼Æ¼__2.3.7 ¾àÇÑ ¿£Æ¼Æ¼¿Í °ÇÑ ¿£Æ¼Æ¼_2.4 µ¥ÀÌÅͺ£À̽º Á¤±ÔÈ_2.5 ¿¹½Ã Å×À̺í Á¤±ÔÈ__2.5.1 Á¦1Á¤±ÔÇü: ¹Ýº¹ ±×·ì Á¦°Å__2.5.2 Á¦2Á¤±ÔÇü: Áߺ¹ µ¥ÀÌÅÍ Á¦°Å__2.5.3 Á¦3Á¤±ÔÇü: Å°¿¡ Á¾¼ÓÇÏÁö ¾Ê´Â µ¥ÀÌÅÍ Á¦°Å_2.6 ¿£Æ¼Æ¼ °ü°è ¼³°è ¿¹½Ã_2.7 ¿£Æ¼Æ¼ °ü°è ¸ðµ¨ »ç¿ë__2.7.1 µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ ¿£Æ¼Æ¼ ¹× °ü°è ¿¬°á__2.7.2 ÀºÇà µ¥ÀÌÅͺ£À̽º ER ¸ðµ¨ »ý¼º__2.7.3 Workbench¸¦ »ç¿ëÇÑ EER - MySQL µ¥ÀÌÅͺ£À̽º º¯È¯Chapter 3 ±âº» SQL_3.1 sakila µ¥ÀÌÅͺ£À̽º »ç¿ë_3.2 SELECT ¹® ¹× ±âº» Äõ¸® ±â¼ú__3.2.1 ´ÜÀÏ Å×À̺í SELECT__3.2.2 ¿ ¼±ÅÃ__3.2.3 WHERE Àý·Î Çà ¼±ÅÃ__3.2.4 ORDER BY Àý__3.2.5 LIMIT Àý__3.2.6 Á¶ÀÎÀ» »ç¿ëÇÑ µÎ Å×À̺íÀÇ °áÇÕ_3.3 INSERT ¹®__3.3.1 INSERT ±âº» »ç¿ë¹ý__3.3.2 ´ëü ±¸¹®_3.4 DELETE ¹®__3.4.1 DELETE ±âº» »ç¿ë¹ý__3.4.2 WHERE, ORDER BY, LIMIT »ç¿ë__3.4.3 TRUNCATE·Î ¸ðµç Çà »èÁ¦_3.5 UPDATE ¹®__3.5.1 UPDATE ±âº» »ç¿ë¹ý__3.5.2 WHERE, ORDER BY, LIMIT »ç¿ë_3.6 SHOW¿Í mysqlshow·Î µ¥ÀÌÅͺ£À̽º¿Í Å×À̺í Ž»öChapter 4 µ¥ÀÌÅͺ£À̽º ±¸¼º ÀÛ¾÷_4.1 µ¥ÀÌÅͺ£À̽º »ý¼º ¹× »ç¿ë_4.2 Å×ÀÌºí »ý¼º__4.2.1 ±âº»__4.2.2 µ¥ÀÌÅÍ Á¤·Ä ¹æ½Ä°ú ¹®ÀÚ ÁýÇÕ__4.2.3 Å×ÀÌºí »ý¼º ½Ã À¯¿ëÇÑ ±âŸ ±â´É__4.2.4 ¿¿¡ »ç¿ëÇÒ ¼ö Àִ ŸÀÔ__4.2.5 Å°¿Í À妽º__4.2.6 AUTO_INCREMENT ±â´É_4.3 ±¸Á¶ º¯°æ__4.3.1 ¿ Ãß°¡, Á¦°Å, º¯°æ__4.3.2 À妽º Ãß°¡, Á¦°Å, º¯°æ__4.3.3 Å×À̺í À̸§ º¯°æ ¹× ±âŸ ±¸Á¶ º¯°æ_4.4 ±¸Á¶ Á¦°Å__4.4.1 µ¥ÀÌÅͺ£À̽º Á¦°Å__4.4.2 Å×À̺í Á¦°ÅChapter 5 °í±Þ Äõ¸®_5.1 º°Äª__5.1.1 ¿ º°Äª__5.1.2 Å×ÀÌºí º°Äª_5.2 µ¥ÀÌÅÍ Áý°è__5.2.1 DISTINCT Àý__5.2.2 GROUP BY Àý__5.2.3 HAVING Àý_5.3 °í±Þ Á¶ÀÎ__5.3.1 ³»ºÎ Á¶ÀÎ__5.3.2 ÅëÇÕ__5.3.3 ¿ÞÂÊ Á¶Àΰú ¿À¸¥ÂÊ Á¶ÀÎ__5.3.4 ÀÚ¿¬ Á¶ÀÎ__5.3.5 Á¶ÀÎÀÇ »ó¼ö Ç¥Çö½Ä_5.4 Áßø Äõ¸®__5.4.1 Áßø Äõ¸® ±âÃÊ__5.4.2 ANY, SOME, ALL, IN, NOT IN Àý__5.4.3 EXISTS¿Í NOT EXISTS Àý__5.4.4 FROM Àý¿¡¼ÀÇ Áßø Äõ¸®__5.4.5 JOIN¿¡¼ÀÇ Áßø Äõ¸®_5.5 »ç¿ëÀÚ º¯¼öPART III Á¦Ç° ȯ°æÀÇ MySQLChapter 6 Æ®·£Àè¼Ç ¹× Àá±Ý_6.1 °Ý¸® ¼öÁØ__6.1.1 REPEATABLE READ__6.1.2 READ COMMITTED__6.1.3 READ UNCOMMITTED__6.1.4 SERIALIZABLE_6.2 Àá±Ý__6.2.1 ¸ÞŸµ¥ÀÌÅÍ Àá±Ý__6.2.2 Çà Àá±Ý__6.2.3 ±³Âø »óÅÂ_6.3 °Ý¸® ¹× Àá±Ý°ú °ü·ÃµÈ MySQL ¸Å°³º¯¼öChapter 7 MySQL Ãß°¡ È°¿ë¹ý_7.1 Äõ¸®¸¦ »ç¿ëÇÑ µ¥ÀÌÅÍ ÀÔ·Â_7.2 ½°Ç¥·Î ±¸ºÐµÈ ÆÄÀÏ(CSV)¿¡¼ µ¥ÀÌÅÍ ·Îµå_7.3 ½°Ç¥·Î ±¸ºÐµÈ ÆÄÀÏ¿¡ µ¥ÀÌÅÍ ÀÔ·Â_7.4 Äõ¸®¸¦ »ç¿ëÇÑ Å×ÀÌºí »ý¼º_7.5 ¿©·¯ Å×ÀÌºí¿¡¼ ¾÷µ¥ÀÌÆ® ¹× »èÁ¦ ¼öÇà__7.5.1 »èÁ¦__7.5.2 ¾÷µ¥ÀÌÆ®_7.6 µ¥ÀÌÅÍ º¯°æ_7.7 EXPLAIN ¹®_7.8 ´ëü ½ºÅ丮Áö ¿£Áø__7.8.1 InnoDB__7.8.2 MyISAM°ú Aria__7.8.3 MyRocks¿Í TokuDB__7.8.4 ±âŸ Å×À̺í À¯ÇüChapter 8 »ç¿ëÀÚ ¹× ±ÇÇÑ °ü¸®_8.1 »ç¿ëÀÚ ¹× ±ÇÇÑ ÀÌÇØ_8.2 ·çÆ® »ç¿ëÀÚ_8.3 »õ·Î¿î »ç¿ëÀÚ »ý¼º ¹× »ç¿ë_8.4 ±ÇÇÑ ºÎ¿© Å×À̺í_8.5 »ç¿ëÀÚ °ü¸® ¸í·É ¹× ·Î±× ±â·Ï_8.6 »ç¿ëÀÚ ¼öÁ¤ ¹× Á¦°Å__8.6.1 »ç¿ëÀÚ ¼öÁ¤__8.6.2 »ç¿ëÀÚ Á¦°Å_8.7 ±ÇÇÑ__8.7.1 Á¤Àû ±ÇÇÑ ´ë µ¿Àû ±ÇÇÑ__8.7.2 SUPER ±ÇÇÑ__8.7.3 ±ÇÇÑ °ü¸® ¸í·É__8.7.4 ±ÇÇÑ È®ÀÎ__8.7.5 GRANT OPTION ±ÇÇÑ_8.8 ¿ªÇÒ_8.9 ·çÆ® ºñ¹Ð¹øÈ£ º¯°æ ¹× ºñº¸¾ÈÀû ½ÇÇà_8.10 º¸¾È ¼³Á¤À» À§ÇÑ ¹æ¹ýChapter 9 ¿É¼Ç ÆÄÀÏ »ç¿ë¹ý_9.1 ¿É¼Ç ÆÄÀÏÀÇ ±¸Á¶_9.2 ¿É¼Ç ¹üÀ§_9.3 ¿É¼Ç ÆÄÀÏ °Ë»ö ¼ø¼_9.4 Ư¼ö ¿É¼Ç ÆÄÀÏ__9.4.1 ·Î±×ÀÎ °æ·Î ±¸¼º ÆÄÀÏ__9.4.2 ¿µ±¸ ½Ã½ºÅÛ º¯¼ö ±¸¼º ÆÄÀÏ_9.5 À¯È¿ÇÑ ¿É¼Ç °áÁ¤Chapter 10 ¹é¾÷ ¹× º¹±¸_10.1 ¹°¸®Àû ¹× ³í¸®Àû ¹é¾÷__10.1.1 ³í¸®Àû ¹é¾÷__10.1.2 ¹°¸®Àû ¹é¾÷__10.1.3 ³í¸®Àû ¹× ¹°¸®Àû ¹é¾÷ °³¿ä_10.2 ¹é¾÷ µµ±¸·Î º¹Á¦__10.2.1 ÀÎÇÁ¶ó Àå¾Ö__10.2.2 ¹èÆ÷ ¹ö±×_10.3 mysqldump ÇÁ·Î±×·¥__10.3.1 mysqldump¸¦ »ç¿ëÇÑ ºÎÆ®½ºÆ®·¦ º¹Á¦_10.4 SQL ´ýÇÁ ÆÄÀÏ¿¡¼ µ¥ÀÌÅÍ ·Îµå_10.5 mysqlpump_10.6 mydumper¿Í myloader_10.7 ÄÝµå ¹é¾÷ ¹× ÆÄÀÏ ½Ã½ºÅÛ ½º³À¼¦_10.8 XtraBackup__10.8.1 ¹é¾÷ ¹× º¹±¸__10.8.2 °í±Þ ±â´É__10.8.3 XtraBackupÀ» »ç¿ëÇÑ ÁõºÐ ¹é¾÷_10.9 ±âŸ ¹°¸®Àû ¹é¾÷ µµ±¸__10.9.1 MySQL ¿£ÅÍÇÁ¶óÀÌÁî ¹é¾÷__10.9.2 mariabackup_10.10 ƯÁ¤ ½ÃÁ¡ º¹±¸__10.10.1 ¹ÙÀ̳ʸ® ·Î±×¿¡ ´ëÇÑ ±â¼úÀû ¹è°æ__10.10.2 ¹ÙÀ̳ʸ® ·Î±× º¸Á¸__10.10.3 PITR ´ë»ó ±¸º°__10.10.4 ƯÁ¤ ½ÃÁ¡ º¹±¸: XtraBackup__10.10.5 ƯÁ¤ ½ÃÁ¡ º¹±¸: mysqldump_10.11 InnoDB Å×ÀÌºí½ºÆäÀ̽º ³»º¸³»±â ¹× °¡Á®¿À±â__10.11.1 ±â¼úÀû ¹è°æ__10.11.2 Å×ÀÌºí½ºÆäÀ̽º ³»º¸³»±â__10.11.3 Å×ÀÌºí½ºÆäÀ̽º °¡Á®¿À±â__10.11.4 XtraBackup ´ÜÀÏ Å×ÀÌºí º¹¿ø_10.12 ¹é¾÷ Å×½ºÆ® ¹× È®ÀÎ_10.13 µ¥ÀÌÅͺ£À̽º ¹é¾÷ Àü·« ÀÔ¹®¼Chapter 11 ¼¹ö ±¸¼º ¹× Æ©´×_11.1 MySQL ¼¹ö µ¥¸ó_11.2 MySQL ¼¹ö º¯¼ö__11.2.1 ¼¹ö ¼³Á¤ È®ÀÎ__11.2.2 ¸ð¹ü »ç·ÊPART IV ±âŸChapter 12 MySQL ¼¹ö ¸ð´ÏÅ͸µ_12.1 ¿î¿µÃ¼Á¦ ÁöÇ¥__12.1.1 CPU__12.1.2 µð½ºÅ©__12.1.3 ¸Þ¸ð¸®__12.1.4 ³×Æ®¿öÅ©_12.2 MySQL ¼¹ö »ìÆ캸±â__12.2.1 »óÅ º¯¼ö__12.2.2 ±âº» ¸ð´ÏÅ͸µ Á¶ÇÕ__12.2.3 ´À¸° Äõ¸® ·Î±×__12.2.4 InnoDB ¿£Áø »óÅ º¸°í¼_12.3 Á¶»ç ¹æ¹ý__12.3.1 USE ¹æ¹ý__12.3.2 RED ¹æ¹ý_12.4 MySQL ¸ð´ÏÅ͸µ µµ±¸_12.5 »ç°í/Áø´Ü ¹× ¼öµ¿ µ¥ÀÌÅÍ ¼öÁý__12.5.1 ½Ã½ºÅÛ »óÅ º¯¼ö °ªÀÇ ÁÖ±âÀû ¼öÁý__12.5.2 pt-stalk¸¦ »ç¿ëÇÑ MySQL ¹× OS ÁöÇ¥ ¼öÁý__12.5.3 È®ÀåµÈ ¼öµ¿ µ¥ÀÌÅÍ ¼öÁýChapter 13 °í°¡¿ë¼º_13.1 ºñµ¿±â º¹Á¦__13.1.1 ¼Ò½º ¹× º¹Á¦º»¿¡ ¼³Á¤ÇÒ ±âº» ¸Å°³º¯¼ö__13.1.2 XtraBackupÀ» »ç¿ëÇÑ º¹Á¦º» »ý¼º__13.1.3 º¹Á¦ Ç÷¯±×ÀÎÀ» »ç¿ëÇÑ º¹Á¦º» »ý¼º__13.1.4 mysqldump¸¦ »ç¿ëÇÑ º¹Á¦º» »ý¼º__13.1.5 mydumper ¹× myloader¸¦ »ç¿ëÇØ º¹Á¦º» »ý¼º__13.1.6 ±×·ì º¹Á¦_13.2 µ¿±â º¹Á¦__13.2.1 Galera/PXC Ŭ·¯½ºÅÍChapter 14 Ŭ¶ó¿ìµå MySQL_14.1 Database-as-a-Service(DBaaS)__14.1.1 MySQL/MariaDB¿ë ¾Æ¸¶Á¸ RDS__14.1.2 MySQL¿ë ±¸±Û Ŭ¶ó¿ìµå SQL__14.1.3 ¾ÖÀú SQL_14.2 ¾Æ¸¶Á¸ ¿À·Î¶ó_14.3 MySQL Ŭ¶ó¿ìµå ÀνºÅϽº_14.4 Äí¹ö³×Ƽ½º¿¡¼ MySQL »ç¿ë__14.4.1 Äí¹ö³×Ƽ½º¿¡ XtraDB Ŭ·¯½ºÅÍ ¹èÆ÷Chapter 15 MySQL ·Îµå ¹ë·±½Ì_15.1 ¾ÖÇø®ÄÉÀÌ¼Ç µå¶óÀ̹ö¸¦ »ç¿ëÇÑ ºÎÇÏ ºÐ»ê_15.2 ProxySQL ·Îµå ¹ë·±¼__15.2.1 ProxySQL ¼³Ä¡ ¹× ±¸¼º_15.3 HAProxy ·Îµå ¹ë·±¼__15.3.1 HAProxy ¼³Ä¡ ¹× ±¸¼º_15.4 MySQL ¶ó¿ìÅÍChapter 16 ±âŸ ÁÖÁ¦_16.1 MySQL ¼Ð__16.1.1 MySQL ¼Ð ¼³Ä¡__16.1.2 MySQL ¼ÐÀ» »ç¿ëÇØ »÷µå¹Ú½º InnoDB Ŭ·¯½ºÅÍ ¹èÆ÷__16.1.3 MySQL ¼Ð À¯Æ¿¸®Æ¼_16.2 Flame ±×·¡ÇÁ_16.3 ¼Ò½º¸¦ »ç¿ëÇÑ MySQL ºôµå__16.3.1 ¿ìºÐÅõ 22.04 LTS(Àç¹Ì Á©¸®ÇǽÃ) ¹× ARM ÇÁ·Î¼¼¼¿ë MySQL ±¸Ãà_16.4 MySQL Ãæµ¹ ¿øÀÎ ºÐ¼®