MySQL °­ÁÂ ¥°
£­¼Ò°³¿Í Ư¡ ¹× ¼³Ä¡£­

    ÇãÁ¤¼ö : ³ª¿ì´©¸®¡´wertyu¡µ

 

 

1. µé¾î °¡´Â ¸».

    1997³â °Ü¿ï, ÇÊÀÚ´Â SQLÀ» ¹è¿ì±â À§ÇØ DB ¼­¹ö¸¦ ã°í ÀÖ¾ú´Ù. ¿©·¯ ÀâÁö¿Í Ã¥À» ã¾Æ º¸¾Ò´Âµ¥, ±×¶§¸¸ Çصµ mSQL°ú PostgreSQL¿¡ ´ëÇÑ ³»¿ë ¹Û¿¡ ¾ø¾ú´Ù. Æò¼Ò ÀÏ¹Ý »ç¶÷µé°ú ´Ù¸¥ »îÀ» »ì°í ½Í¾ú´ø ÇÊÀÚ´Â ÀÏ¹Ý »ç¶÷µéÀÌ ¸¹ÀÌ ¾²Áö ¾Ê´Â DB ¼­¹ö¸¦ ã´Ù°¡ ¿ì¿¬È÷ MySQLÀ» ¾Ë°Ô µÇ¾ú°í, MySQL¿¡ ¹ÝÇØ ¹ö·È´Ù. 1997³â ¸¸Çصµ MySQLÀº mSQLÀ̳ª, PostgreSQLº¸´Ù´Â »ç¿ëÀÚ°¡ Àû¾ú´Ù(¿ì¸® ³ª¶ó¿¡¼­¸¸ ±×·±Áö´Â ¸ð¸£Áö¸¸). ¸î ´ÞÀü ¸®´ª½º Àú³Î¿¡¼­ °¢ ºÐ¾ßº°·Î ¾î¶² ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ °¡Àå ¸¹Àº »ç¿ëÀÚ¸¦ È®º¸Çß³ª Á¶»ç¸¦ ÇÑ ÀûÀÌ ÀÖ´Ù. DB ºÐ¾ß¿¡¼­´Â MySQLÀÌ 1µîÀ» Çß´Ù. ¾ÆÀÌ·¯´ÏÄÃÇÏ°Ôµµ ´Ù¸¥ »ç¶÷ÀÌ ¸¹ÀÌ ¾È ¾²´Â DB ¼­¹ö¸¦ »ç¿ëÇϱâ À§ÇØ MySQLÀ» ½è¾ú´Âµ¥, Áö±ÝÀº °¡Àå ¸¹Àº »ç¿ëÀÚ¸¦ È®º¸ÇÏ¿´´Ù.

    ÀÌ ±Û¿¡¼­´Â MySQLÀÇ Æ¯Â¡°ú ¼³Ä¡ ¹æ¹ý, ¼³Á¤ ¹æ¹ý, CAPI¸¦ ÀÌ¿ëÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥°ú ¿¬µ¿Çϱâ, PHP3¸¦ ÀÌ¿ëÇÏ¿© ¿¬µ¿ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æ º»´Ù. À̹ø ±â»ç¿¡¼­´Â MySQLÀÇ Æ¯Â¡°ú ¼³Ä¡ ¹æ¹ý, ¼³Á¤ ¹æ¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æ º»´Ù.

 

2. MySQL ÀÇ Æ¯Â¡

    MySQLÀÇ ¸Þ´º¾óÀ» º¸¸é MySQLÀÇ Æ¯Â¡ÀÌ ¾à 30°¡Áö Á¤µµ ³ª¿Í ÀÖ´Ù. ¿ä¾àÇØ º¸¸é ´ÙÀ½°ú °°´Ù.
    * Ä¿³Î thread¸¦ ÀÌ¿ëÇÑ Multi thread¸¦ Áö¿øÇϹǷÎ, CPU°¡ ¿©·¯ °³ÀÏ °æ¿ì À̵é CPU¸¦ Àß
      È°¿ëÇÒ ¼ö ÀÖ´Ù.
    * ´Ù¾çÇÑ Ç÷§ÆûÀ» Áö¿øÇÑ´Ù.( Windows NTµµ Áö¿øÇÑ´Ù.)
    * ¾ÆÁÖ Å« µ¥ÀÌŸ º£À̽ºµµ ´Ù·ê ¼ö ÀÖ´Ù.
      MySQLÀ» ¸¸µç ȸ»ç´Â 5õ¸¸°³ÀÇ ·¹Äڵ带 °¡Áø µ¥ÀÌŸ º£À̽ºµµ »ç¿ëÇÏ°í ÀÖ´Ù.
    * ´Ù¾çÇÑ ³ª¶ù¸»·Î ¿¡·¯ ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÑ´Ù.
    * ÃÖÀûÈ­µÈ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ´Ù.

    ÇÏÁö¸¸, MySQLÀÇ °¡Àå Å« Ư¡À» µé¶ó°í Çϸé, ºü¸¥ ¼Óµµ¸¦ µé ¼ö ÀÖ´Ù. ±×¸² 1¿¡ MySQL°ú ¿À¶óŬÀÇ ¼Óµµ¸¦ ºñ±³ÇØ ³õÀº º¥Ä¡ ¸¶Å© °á°ú°¡ ÀÖ´Ù.

    [±×¸² 1]

    [±×¸² 1]¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ, MySQLÀº ¸Å¿ì ºü¸£´Ù. http://www.tcx.se/benchmark.html¿¡ °¡¸é ´Ù¸¥ Á¦Ç°°úµµ ºñ±³ÇØ ³õÀº ÀÚ·á°¡ ¸¹ÀÌ ÀÖÀ¸´Ï, °ü½ÉÀÖ´Â µ¶ÀÚ´Â Á÷Á¢ È®ÀÎÇϱ⠹ٶõ´Ù.

    ±×·¸´Ù¸é, ¿Ö MySQLÀÌ ´Ù¸¥ Á¦Ç°¿¡ ºñÇؼ­ ºü¸¥Áö ±Ã±ÝÇÏÁö ¾Ê´Â°¡? MySQLÀº ¼Óµµ Çâ»óÀ» À§Çؼ­ ÀϺη¯ ¸î °¡Áö ANSI SQLÀ» ±¸ÇöÇÏÁö ¾Ê´Ù. ¹Ù·Î, Transaction°ú TriggerÀÌ´Ù. Transaction°ú Trigger´Â ½Ã½ºÅÛÀÇ ÀÚ¿øÀ» ¸¹ÀÌ ¼Ò¸ðÇÔÀ¸·Î ¼Óµµ¸¦ ¶³¾îÁö°Ô ÇÑ´Ù. MySQLÀº Transaction°ú Trigger¸¦ ÀϺη¯ ±¸ÇöÇÏÁö ¾Ê¾Ò´Ù.

    2.1 MySQL¿¡¼­ Áö¿øÇÏÁö ¾Ê´Â SQL ±â´É.

      ´ÙÀ½Àº ¾ÆÁ÷ MySQLÀÌ Áö¿øÇÏ´Â ¾Ê´Â ±â´ÉµéÀÌ´Ù.
      * Sub-select
      SELECT * FROM table1 WHERE id IN( SELECT id FROM table2) ;  ¿Í °°Àº °ÍÀº ¾ÆÁ÷ MySQL¿¡¼­ Áö¿øÇÏÁö ¾Ê´Â´Ù.  ´Ù¸¸, INSERT .. SELECT .. ¿Í REPLACE .. SELECT ¸¸ÀÌ Áö¿øµÈ´Ù.   sub-select´Â 3.23.0 ¹öÀü¿¡¼­ »ç¿ë°¡´ÉÇÒ °ÍÀ̶ó°í ÇÑ´Ù.

      * SELECT INTO TABLE
      MySQLÀº SELECT .. INTO TABLEÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.   SELECT .. INTO OUTFILE ¸¸À» Áö¿øÇÑ´Ù.

      * Transaction
      ¾Õ¿¡¼­µµ ¸»Çß´Ù½ÃÇÇ MySQLÀº TransactionÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. TransactionÀº ½Ã½ºÅÛÀÇ ÀÚ¿øÀ»  ¸¹ÀÌ ¼Ò¸ðÇÔÀ¸·Î ÀüüÀûÀÎ ¼Óµµ¸¦ ´À¸®°Ô ÇÑ´Ù. µû¶ó¼­, MySQLÀº TransactionÀ» ±¸ÇöÇÏÁö ¾Ê°í, ´ë½Å¿¡ LOCK TABLES/UNLOCK TABLES¸¦ ÀÌ¿ëÇÏ¿© Transaction°ú °°Àº ÀÏÀ» ÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù.

      * Stored Procedure¿Í Trigger
      Stored Procedure´Â ¾ÕÀ¸·Î Áö¿øÇÒ °èȹÀÌÁö¸¸, Trigger´Â  ¼Óµµ¸¦ ¶³¾îµå¸®°í, º°·Î ÇÊ¿ä¾ø´Â Äõ¸®¶ó¼­ ¾ÕÀ¸·Îµµ Áö¿øÇÒ °èȹÀÌ ¾ø´Ù.

      * Foreign Key

      * View

 

3. MySQLÀÇ ¼³Ä¡

    ¾Æ½±°Ôµµ MySQLÀÇ ¶óÀ̼¾½º ¹æ½Ä ¶§¹®¿¡ ·¹µåÇÞ °°Àº ¸®´ª½º ¹èÆ÷ÆÇ¿¡´Â MySQLÀÌ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù. MySQLÀÇ ¶óÀ̼¾½º ¹æ½ÄÀº ºñ»ó¾÷¿ëÀ¸·Î MySQLÀÌ ¾²ÀÏ °æ¿ì ¹«·áÀÌ°í, »ó¾÷ÀûÀ¸·Î ¾²ÀÏ °æ¿ì, ¶óÀ̼¾½º¸¦ ±¸ÀÔÇØ¾ß ÇÑ´Ù. Win 95, Win 98, Win NT¿ë MySQLÀº »ó¾÷ÀûÀÌµç ºñ»ó¾÷ÀûÀÌµå ¶óÀ̼¾½º¸¦ ±¸ÀÔÇØ¾ß ÇÑ´Ù.
    http://www.tcx.se/download.html¿¡¼­ MySQLÀ» ±¸ÇÒ ¼ö ÀÖ´Ù.
    ¹èÆ÷µÇ´Â Çü½ÄÀº ¼Ò½º ÄÚµå, ¹ÙÀ̳ʸ®, RPMÀÌ´Ù. ÀÌ ±ÛÀÌ ¾²¿© Áö°í ÀÖ´Â Áö±ÝÀÇ ÃֽŠ¹öÀüÀº 3.22.20aÀÌ´Ù.

    3.1 ¼Ò½º ÄÚµå·Î ¼³Ä¡Çϱâ.

      Ãʺ¸ÀÚµéÀº ÄÄÆÄÀÏÀ» µÎ·Á¿ö ÇÏ´Â °æÇâÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº autoconf¿Í automake¸¦ ÀÌ¿ëÇÏ¿© ¹èÆ÷µÇ¹Ç·Î ÄÄÆÄÀÏÇϱⰡ ½±´Ù. ¸Þ´º¾ó¿¡ ³ª¿Â´ë·Î Àß µû¶ó°£´Ù¸é ½ÇÆоøÀÌ ´Ü Çѹø¿¡ ¼³Ä¡¸¦ ¸¶Ä¥ ¼ö ÀÖ´Ù.
      °¡Àå ±âº»ÀûÀÎ °úÁ¤Àº ´ÙÀ½°ú °°´Ù.

        % gzip -d mysql-Version.tar.gz
        % tar xvf mysql-Version.tar
        % cd mysql-Version

      ÀÌÁ¦ ½ÇÁ¦ ¼³Ä¡ ´Ü°èÀÌ´Ù.

        % configure
        % make
        % make check
        % make install
        % cd scripts
        % mysql_install_db

      ¸î ÁÙ¸¸ Ä¡¸é ¼³Ä¡°¡ ´Ù ³¡³­´Ù. °¢ ´Ü°è´Â ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÑ´Ù.

      configure         : °¢ÀÚÀÇ È¯°æ¿¡ ¸Â°Ô MakefileÀ» »ý¼ºÇÑ´Ù.
      make               : ÄÄÆÄÀÏÀ» ÇÑ´Ù.
      make check      : ÄÄÆÄÀÏÀÌ Á¦´ë·Î µÇ¾ú´ÂÁö °Ë»çÇÏ´Â ´Ü°èÀÌ´Ù.
                               (²À ÇÒ ÇÊ¿ä´Â ¾ø´Ù.)
      make install       : ¸¸µé¾îÁø ½ÇÇà ÆÄÀÏÀ» ¿øÇÏ´Â µð·ºÅ͸®¿¡ ¼³Ä¡ÇÑ´Ù.
      mysql_install_db : MySQLÀÇ ±ÇÇÑ¿¡ ´ëÇÑ Å×À̺íÀ» »ý¼º ÇÑ´Ù.
                                MySQLÀ» óÀ½ ¼³Ä¡ÇßÀ» ¶§¸¸ ÇÊ¿äÇÑ °úÁ¤ÀÌ°í, ÀÌÀü                           ¹öÀüÀÇ MySQL¿¡¼­ ¾÷±×·¹À̵带 ÇÏ°í ½Í´Ù¸é                           mysql_fix_privilege_tables¸¦ ½ÇÇà½ÃÅ°¸é µÈ´Ù.

      µû·Î MySQLÀÌ ¼³Ä¡µÉ µð·ºÅ͸®¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù¸é, ±âº»ÀûÀÎ µð·ºÅ͸®´Â /usr/local/ÀÌ µÈ´Ù. MySQLÀ» ¼³Ä¡ÇÒ ½Ã½ºÅÛÀÌ ÀÚ½ÅÀÌ ½´ÆÛ À¯ÀúÀÎ ½Ã½ºÅÛÀ̶ó¸é »ó°ü¾ø°ÚÀ¸³ª, Çб³ ¼­¹ö¿¡ ¼³Ä¡ÇÑ´Ù¸é, °æ¿ì´Â ´ëºÎºÐ /usr/local/¿¡ ¼³Ä¡ÇÒ ±ÇÇÑÀÌ ¾øÀ» °ÍÀÌ´Ù. À̶§, MySQLÀ» ¼³Ä¡ÇÒ µð·ºÅ͸®¸¦ ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Ù.

        % configure --prefix=¿øÇÏ´Â µð·ºÅ͸®

      ÀÌ·¸°Ô Çϸé MySQLÀÌ ÀÚ½ÅÀÌ ÁöÁ¤ÇÑ µð·ºÅ͸®¿¡ ¼³Ä¡µÈ´Ù. MySQLÀÌ ¼³Ä¡µÈ µð·ºÅ͸®ÀÇ bin µð·ºÅ͸®¿¡ ½ÇÇà ÆÄÀÏÀÌ ¼³Ä¡µÇ°í, include/mysql¿¡ Çì´õ ÆÄÀÏÀÌ ¼³Ä¡µÈ´Ù. lib/mysql¿¡ ¶óÀ̺귯¸®µéÀÌ ¼³Ä¡µÇ°í, libexec¿¡ MySQLÀÇ µ¥¸óÀÎ mysqld°¡ ¼³Ä¡µÈ´Ù. var¿¡´Â ½ÇÁ¦ µ¥ÀÌŸµéÀÌ  ¼³Ä¡µÈ´Ù.

    3.2 ¹ÙÀ̳ʸ® ¹èÆ÷ÆÇÀ¸·Î ¼³Ä¡Çϱâ.

      ÀÏ´Ü ¹ÙÀ̳ʸ® ¹èÆ÷ÆÇÀ» À§ÀÇ È¨ÆäÀÌÁö¿¡¼­ ¹ÞÀº ÈÄ¿¡

        % gzip -d mysql-Version-OS.tar.gz
        % tar xvf mysql-Version-OS
        % ln -s mysql-Version-OS mysql
        % cd mysql
        % scripts/mysql_install_db

      ÀÌ·¸°Ô ÇÏ¸é ¼³Ä¡°¡ ³¡³­´Ù.

    3.3 rpmÀ¸·Î ¼³Ä¡Çϱâ.

      rpmÀº ¼Ò½º ÄÚµå rpm°ú ¹ÙÀ̳ʸ® rpmÀÌ ÀÖ´Ù.
      rpmÀÌ ¼Ò½º Äڵ带 ´ã°í ÀÖ´Ù¸é,

        % rpm -i MySQL-Version.src.rpm
        % cd /usr/src/redhat/SOURCES

      ÀÌÈÄ¿¡´Â ¼Ò½º ÄÚµå·Î ¼³Ä¡ Çϱ⠰úÁ¤À» ÇÏ¸é µÈ´Ù.

      ¹ÙÀ̳ʸ®ÀÇ °æ¿ì MySQL-Version.i386.rpm, MySQL-client-Version.i386.rpm MySQL-bench-Version.i386.rpm, MySQL-devel-Version.i386.rpm ÀÇ 4 °³ÀÇ ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. rpmÀ» ÀÌ¿ëÇÏ¿© À§ÀÇ 4 °³ ÆÄÀÏÀ» ¼³Ä¡ÇÏ¸é µÈ´Ù. À̶§ /var/lib/mysql¿¡ ½ÇÁ¦ µ¥ÀÌŸµéÀÌ ÀúÀåµÈ´Ù. ºÎÆýÿ¡ ÀÚµ¿À¸·Î µ¥¸óÀ» ½ÇÇà½ÃÅ°´Â ÆÄÀÏÀ» ÀÚµ¿À¸·Î ¸¸µé¾î ÁØ´Ù.

    3.4 MySQL »ç¿ëÇϱâ.

      ¼³Ä¡°¡ ¿Ï·áµÆÀ¸´Ï, ÀÌÁ¦ MySQLÀ» »ç¿ëÇØ º¸ÀÚ. ¸ÕÀú ¾î¶² ½ÇÇà ÆÄÀÏÀÌ ¸¸µé¾î Á³´ÂÁö »ìÆì º¸ÀÚ. ¸¹Àº ½ÇÇà ÆÄÀÏÀÌ ÀÖÁö¸¸,¸¹ÀÌ ¾²ÀÌ´Â ½ÇÇà ÆÄÀϸ¸ Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°´Ù.

      1) mysql
          SQL ½©·Î¼­, client ÇÁ·Î±×·¥ÀÌ´Ù. MySQL¿¡ Á¢¼ÓÇÏ¿©, Äõ¸®¸¦ ¼öÇàÇÏ´Â ÇÁ·Î±×·¥
          ÀÌ´Ù. ¾ÕÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ°Ô µÉ °ÍÀÌ´Ù.
      2) mysqladmin
          MySQLÀ» °ü¸®ÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. µ¥ÀÌŸ º£À̽º¸¦ ¸¸µé°í, »èÁ¦ÇÏ°í, ±ÇÇÑ¿¡ ´ëÇÑ
          Å×À̺íÀ» ´Ù½Ã ÀÐ¾î µéÀÌ´Â ÀÏÀ» ÇÑ´Ù.
      3) mysqld
          MySQL µ¥¸óÀÌ´Ù. MySQLÀ» »ç¿ëÇϱâ À§Çؼ­ Ç×»ó ½ÇÇà ÁßÀ̾î¾ß ÇÑ´Ù.
      4) mysqlshow
          MySQL¾È¿¡ ¾î¶² µ¥ÀÌŸ º£À̽ºµéÀÌ ÀÖ´ÂÁö, ±× µ¥ÀÌŸ º£À̽ºµé¿¡´Â ¾î¶² Å×À̺íÀÌ
          ÀÖ´ÂÁö, Å×ÀÌºí¿¡´Â ¾î¶² Ä÷³ÀÌ ÀÖ´ÂÁö¸¦ º¸¿©ÁØ´Ù.
      5) safe_mysqld
          mysqld¸¦ Á»´õ ¾ÈÀüÇÏ°Ô ½ÇÇà½ÃÅ°´Â ½ºÅ©¸³Æ® ÆÄÀÏÀÌ´Ù.
      6) isamchk
          Å×ÀÌºí¿¡ ¹®Á¦°¡ ÀÖÀ» ¶§ ¹®Á¦Á¡À» °íÄ¡±âµµ ÇÏ°í, Å×À̺íÀ» ÃÖÀûÈ­ÇÑ´Ù.

      MySQLÀÇ »ç¿ëÇϱâ À§Çؼ­ µ¥¸óÀÌ ½ÇÇà ÁßÀ̾î¾ß ÇÑ´Ù°í, ¼³¸íÀ» Çß´Ù. µ¥¸óÀ» ½ÇÇà½ÃÅ°´Â ¹æ¹ýÀº

        % safe_mysqld
        ȤÀº
        % mysqld

      ÀÌ´Ù. MySQLÀº 3306¹ø Æ÷Æ®¸¦ »ç¿ëÇÑ´Ù. Ȥ½Ã ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼­ ¸ÕÀú 3306¹øÀ» ¾²°í ÀÖÀ¸¸é µ¥¸óÀÌ ¿¡·¯¸¦ ³»¸é¼­ ½ÇÇàÀÌ ¾È µÈ´Ù. À̶§´Â

        % mysqld -P 3333

      ó·³ »ç¿ëÇÒ Æ÷Æ® ¹øÈ£¸¦ ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Ù.
      ¸Å¹ø ºÎÆýø¶´Ù µ¥¸óÀ» ¼Õ¼ö ½ÇÇà½ÃÅ°±â ±ÍÂú´Ù¸é, safe_mysqld¸¦ /etc/rc.d/rc.local¿¡ ÇÑÁÙ Ãß°¡ÇØÁÖ¸é ºÎÆýø¶´Ù ÀÚµ¿À¸·Î ½ÇÇàµÈ´Ù. (rpmÀ¸·Î ¼³Ä¡ÇÑ »ç¶÷Àº ÀÚµ¿À¸·Î µÇ¾î ÀÖ´Ù.)

    3.5 ±ÇÇÑ ¼³Á¤°ú »õ·Î¿î »ç¿ëÀÚ Ãß°¡Çϱâ.

      MySQL ¼³Ä¡ ´Ü°è¿¡¼­ mysql_install_db ´Ü°è°¡ ±ÇÇÑ¿¡ ´ëÇÑ Å×À̺íÀ» ¼³Ä¡ÇÏ´Â ´Ü°è¶ó°í ÇÏ¿´´Ù. MySQLÀ» óÀ½ ¼³Ä¡Çϸé root¸¸ÀÌ MySQLÀ» »ç¿ëÇϵµ·Ï ±ÇÇÑÀÌ Á־ ÀÖ´Ù. ÀÏ´Ü ¾î¶² µ¥ÀÌŸ º£À̽ºµéÀÌ ÀÖ´ÂÁö º¸ÀÚ.

        % mysqlshow -u root
        +-----------+
         |   Databases  |
        +-----------+
         |      mysql      |
         |        test       |
        +-----------+

      ¡®-u root¡¯°¡ ¹Ù·Î root·Î »ç¿ëÀ» ÇÑ´Ù´Â ¿É¼ÇÀÌ´Ù.
      MySQLÀ» óÀ½ ¼³Ä¡Çϸé mysql, test¶ó´Â µÎ °³ÀÇ µ¥ÀÌŸ º£À̽º°¡ ¼³Ä¡µÈ´Ù.  mysql¿¡ ¾î¶² Å×À̺íÀÌ ÀÖ´ÂÁö º¸ÀÚ.

        % mysqlshow -u root mysql
        Database: mysql
        +--------------+
         |    columns_priv   |
         |    db                  |
         |    func                |
         |    host                |
         |    tables_priv       |
         |    user                |
        +--------------+

      6 °³ÀÇ Å×À̺íÀÌ ÀÖ´Ù. ÀÌ Áß user Å×À̺íÀÌ »ç¿ëÀÚ¿¡ °üÇÑ Å×À̺íÀÌ´Ù. ÀÌÁ¦ mysqlÀ̶ó´Â Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥À» ÀÌ¿ëÇؼ­ MySQLÀ» »ç¿ëÇØ º¸ÀÚ.

        % mysql -u root
        mysql>

      mysql µ¥ÀÌŸ º£À̽º¸¦ »ç¿ëÇϱâ À§Çؼ­ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

        mysql> use mysql

      ±×·³ ´ÙÀ½°ú °°ÀÌ ÇÏ¿©, mysql µ¥ÀÌŸ º£À̽ºÀÇ user Å×ÀÌºí¿¡ ¾î¶² ·¹Äڵ尡 ÀÖ´ÂÁö º¸ÀÚ.

        mysql> select * from user ;

        +----------+-------+---------+-------------+-
         | Host          |  User     | password    | Select_priv         |  
        +------- --+-------+----------+-------------+-
         | localhost    |  root      |                  | Y                      |
         | inos.ml.org |  root      |                  | Y                      |  
         | localhost    |              |                  | N                      |  
         | inos.ml.org |              |                  | N                      |
        +------ ---+-------+----------+-------------+-

        7 rows in set (0.00 sec)

      À§¿Í ºñ½ÁÇÏ°Ô ³ª¿ÔÀ» °ÍÀÌ´Ù. SQL ¾ð¾î¸¦ Àß ¸ð¸£´Â µ¶ÀÚ¸¦ À§ÇØ ¼³¸íÇÏÀÚ¸é ¡®SELECT ... ¡¯´Â Å×À̺í·Î ºÎÅÍ Ä÷³À» ¸®ÅÏÇ϶ó´Â Äõ¸®ÀÌ´Ù. ¸ðµç Äõ¸®ÀÇ ³¡Àº ¡®;¡¯ ȤÀº ¡®\g¡¯·Î ³¡³­´Ù. XXX_priv´Â XXX¿¡ ´ëÇÑ ±ÇÇÑÀ» ³ªÅ¸³½´Ù. Áï Select_priv°¡ ¡®Y¡¯ÀÌ¸é ±× »ç¿ëÀÚ´Â select Äõ¸®¸¦ ¼öÇàÇÒ ¼ö ÀÖÀ½À»³ªÅ¸³½´Ù.

        | Host          | User      | password          | Select_priv        |
        +---------+-------+-------------+----------- -+-
        | localhost   | root       |                          | Y                     |

      À§´Â localhostÀÇ root°¡ Æнº¿öµå´Â ¾ø°í, ¸ðµç ±ÇÇÑÀÌ ÁÖ¾îÁ® ÀÖ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù. ÇÏÁö¸¸ ¾î¶°ÇÑ À¯Àú¶óµµ

        % mysql -u root

      ¸¸ Çϸé MySQL¿¡ ´ëÇÑ ¸ðµç ±ÇÇÑÀ» °¡Áú ¼ö ÀÖÀ¸¹Ç·Î ¸Å¿ì À§ÇèÇÏ´Ù.
      ¾ÏÈ£¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.

        mysql> UPDATE user SET password = password(¡®»õ·Î¿î¾ÏÈ£¡¯)
                > WHERE user=¡¯root¡¯ ;

      Äõ¸®°¡ ±æ´Ù¸é µÎ ÁÙ¿¡ ³ª´²¼­ ½áµµ µÈ´Ù. Äõ¸®ÀÇ ³¡À» ³ªÅ¸³»´Â¡¯;¡¯ ¸¸ ÀÖÀ¸¸é µÈ´Ù.

      UPDATE´Â Ä÷³ÀÇ °ªÀ» º¯°æ½ÃÅ°´Â Äõ¸®ÀÌ´Ù. (´ÙÀ½ ±â»ç¿¡ SQL ¾ð¾î¿¡ ´ëÇÑ ¼³¸íÀÌ À̾î Áø´Ù.)
      MySQLÀº password¸¦ ¾Ïȣȭ ÇÑ´Ù. µû¶ó¼­ ¾ÏÈ£¸¦ ÁöÁ¤ÇÒ ¶§´Â password(¡®¾ÏÈ£¡¯) ó·³ password() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¾ß ÇÑ´Ù.

      ÀÌÁ¦ mysqlÀ» Àá½Ã Á¾·áÇÏ°í, ¾ÏÈ£°¡ Á¦´ë·Î µÇ¾ú´ÂÁö È®ÀÎÇØ º¸ÀÚ.

        mysql> quit

      ±ÇÇÑ¿¡ ´ëÇÑ Å×À̺íÀ» º¯°æÇÏ¿´À» °æ¿ì¿¡´Â mysqladminÀ» ÀÌ¿ëÇÏ¿© ²À º¯°æµÈ ±ÇÇÑÀ» ´Ù½Ã ÀÐ¾î µé¿©¾ß ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

        % mysqladmin -u reload

      À§´Â ±ÇÇÑÀ» ´Ù½Ã ÀÐ¾î µéÀ̶õ ¸í·ÉÀÌ´Ù. À§¸¦ ¾ÈÇϸé, º¯°æµÇÁö ¾ÊÀº ³»¿ëÀ» °¡Áö°í ÀÖ°Ô µÈ´Ù. ´Ù½Ã mysqlÀ» ½ÇÇà½ÃÄÑ º¸ÀÚ. ÀÌÁ¦ ¾ÏÈ£°¡ ÀÖÀ¸¹Ç·Î -p ¿É¼ÇÀ» ºÙ¿©¾ß ÇÑ´Ù.

        % mysql -u root -p
        Enter password:

    3.6 »õ·Î¿î »ç¿ëÀÚ Ãß°¡ Çϱâ

      ÀÌÁ¦ »õ·Î¿î »ç¿ëÀÚ¸¦ Ãß°¡ÇØ º¸ÀÚ. »ç¿ëÀÚ°¡ root¸¸ ÀÖ´Â °æ¿ì´Â¾ø°í, ¸ðµç »ç¿ëÀÚ°¡ ¸ðµç ±ÇÇÑÀ» °®´Â °æ¿ìµµ ¾ø´Ù. »ç¿ëÀÚ¿¡ µû¶ó¼­´Â SELECT¸¸ ÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ÁÙ ¶§µµ ÀÖ´Ù. »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ·Á¸é, INSERT .. INTO¸¦ ÀÌ¿ëÇؼ­ mysqlÀÇ user Å×ÀÌºí¿¡ Ãß°¡¸¦ ÇÏ¸é µÈ´Ù.

        % mysql -u root -p mysql
        Enter password:
        mysql> INSERT INTO user VALUES(¡®localhost¡¯,
                   ¡®new-user¡¯, password(¡®newpasswd¡¯), ¡®Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡®Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯) ;
        Query OK, 1 row affected (0.00 sec)

      localhostÀÇ new-user¶ó´Â »ç¿ëÀÚ°¡ newpasswd¶ó´Â ¾ÏÈ£¿Í ¸ðµç ±ÇÇÑÀ¸·Î Ãß°¡µÇ¾ú´Ù. ¸ðµç ±ÇÇÑÀ» ÁÖ°í ½ÍÁö ¾Ê´Ù¸é, ÁÖ°í ½ÍÁö ¾ÊÀº ±ÇÇÑ ºÎºÐÀ» ¡®Y¡¯À¸·Î ÇÏ¸é µÈ´Ù.

      ¸¸¾à SELECT, INSERT, DELETE¿¡ ´ëÇÑ ±ÇÇѸ¸À» ÁÖ°í ½Í´Ù¸é

        mysql> INSERT INTO user (host, user,password, Select_priv, Insert_priv, Delete_priv)
        -> VALUES (¡®localhost¡¯, ¡®new-user¡¯,password(¡®newpasswd¡¯),
        ¡¯Y¡¯,¡¯Y¡¯,¡¯Y¡¯) ;

      ó·³ ÇÏ¸é ´Ù¸¥ ±ÇÇÑÀº ¸ðµÎ ÀÚµ¿À¸·Î ¡®N¡¯ÀÌ µÈ´Ù. »ç¿ëÀÚ Ãß°¡´Â INSERT¿Ü¿¡ GRANT¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù.

        mysql> GRANT ALL PRIVILEGES ON *.* TO new-user@localhost
        IDENTIFIED BY ¡®newpasswd¡¯ WITH GRANT OPTION ;

      À§´Â localhostÀÇ new-user °¡ newpasswd¶ó´Â ¾ÏÈ£·Î ¸ðµç±ÇÇÑÀ» °®´Â´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù.

        mysql> GRANT RELOAD, PROCESS ON *.* TO new-user@localhost ;

      ´Â localhostÀÇ new-user°¡ RELOAD¿Í PROCESSÀÇ ±ÇÇÑÀ» °®´Â´Ù´Â ³ªÅ¸³½´Ù.
      INSERT¿Í GRANT Áß ¾î´À °ÍÀ» ½áµµ »ó°ü¾ø´Ù.

      À§¿¡¼­ ±ÇÇÑÀÌ ¹Ù²î¸é mysqladmin reload¸¦ ÀÌ¿ëÇؼ­ ¹Ù²ï
      ±ÇÇÑÀ» Àû¿ëÇØ¾ß ÇÑ´Ù°í Çß´Ù. ÇÏÁö¸¸, ´ÙÀ½°ú °°ÀÌ ÇÒ ¼öµµ ÀÖ´Ù.
      mysql> FLUSH PRIVILEGES ;

 

4. ¸¶Ä¡´Â ±Û

    Áö±Ý±îÁö MySQLÀÇ Æ¯Â¡°ú ¼³Ä¡¹ý, ¼³Á¤ ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸¾Ò´Ù. ´ÙÀ½ ½Ã°£¿¡´Â SQL ¾ð¾î¿¡ ´ëÇؼ­ °øºÎ¸¦ ÇÑ´Ù. ±ÛÀ» ÀÐÀ¸¸é¼­ ¸ð¸£´Â Á¡ÀÌ ÀÖ´Ù¸é ¼­½¿Ä¡ ¸»°í ÇÊÀÚ¿¡°Ô
    ¸ÞÀÏÀ» º¸³»Áֱ⠹ٶõ´Ù.

    ¸¶Áö¸·À¸·Î ¾ÏÈ£¸¦ ÀØ¾î ¹ö·ÈÀ» °æ¿ì, ¾î¶»°Ô ÇØ°áÇÒÁö¿¡ ´ëÇؼ­ ¼³¸íÀ» ÇÏ°Ú´Ù. ¾ÏÈ£¸¦ Àؾî¹ö¸®°í¼­, ³­°¨ÇØ ÇÏ´Â »ç¶÷µéÀ» ¸¹ÀÌ ºÃ´Ù. °ÔÁß¿¡´Â ¾Æ¿¹ MySQLÀ» Áö¿ì°í »õ·Î ¼³Ä¡ÇÏ´Â »ç¶÷µµ ÀÖ´Ù. ½Ã°£ÀÌ ³²´Â »ç¶÷À̶ó¸é »õ·Î ¼³Ä¡Çصµ µÇ°ÚÁö¸¸, ½Ã°£ÀÌ ³²¾Æµµ Áß¿äÇÑ µ¥ÀÌŸ°¡ ÀÖÀ» °æ¿ì´Â »õ·Î±òÁö ¸øÇÒ °ÍÀÌ´Ù. ÀÌ·± °æ¿ì ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.

    ¸ÕÀú MySQL µ¥¸óÀÌ ½ÇÇà ÁßÀ̶ó¸é, µ¥¸óÀÇ ½ÇÇàÀ» ÁßÁöÇÑ´Ù. ±×ÈÄ, µ¥¸óÀ» ´Ù½Ã ½ÇÇà½ÃÅ°´Âµ¥, ±ÇÇÑ¿¡ ´ëÇÑ °Ë»ç¸¦ÇÏÁö ¾Ê°í ½ÇÇàÀ» ½ÃŲ´Ù.

      % safe_mysqld -Sg &

    -Sg°¡ ¹Ù·Î ±ÇÇÑ °Ë»ç¸¦ ÇÏÁö ¾Ê´Â´Ù´Â ¿É¼ÇÀÌ´Ù. ÀÌÁ¦ mysqlÀ» ÀÌ¿ëÇؼ­ ¾ÏÈ£¸¦ Á¦°ÅÇØ ÁÖ¸é µÈ´Ù. ±×ÈÄ mysqladmin reload¸¦ ÀÌ¿ëÇؼ­ ¹Ù²ï ±ÇÇÑÀ» Àû¿ëÇØÁÖ°í ´Ù½Ã µ¥¸óÀ» ½ÇÇà½ÃÅ°¸é µÈ´Ù.

 

¡¶ÇÊÀÚ¼Ò°³¡·

ÇãÁ¤¼ö´ÔÀº ¼þ½Ç´ëÇб³ ÄÄÇ»ÅÍÇкο¡ ÀçÇÐÁßÀÌ¸ç ¸®´ª½º Æ÷Ä¿½º ÀÚ¿øºÀ»çÀڷεµ È°µ¿ÇÏ°í ÀÖ´Ù. ¸®´ª½º Ä¿³Î°ú µ¥ÀÌŸº£À̽º¿¡ °ü½ÉÀÌ ¸¹´Ù°í ÇÑ´Ù.




¡ã top

homeÀ¸·Î...