Á¦ 6°­ Mysql Å©·¢Ä¿¿¡ ´ëºñÇÏ¿© mysqlÀ» ¾ÈÀüÇÏ°Ô ÇÏ´Â ¹æ¹ý

  Ãâó : http://gwangcom.co.kr

 
 Á¦ 6°­ Mysql Å©·¢Ä¿¿¡ ´ëºñÇÏ¿© mysqlÀ» ¾ÈÀüÇÏ°Ô ÇÏ´Â ¹æ¹ý

mysql ¼­¹ö¿¡ ¿¬°áÇÒ ¶§ ÀÏ¹Ý ÀûÀ¸·Î ºñ¹Ð¹øÈ£¸¦ »ç¿ëÇØ¾ß  ÇÑ´Ù.
ºñ¹Ð¹øÈ£´Â ¿¬°áÇÒ ¶§ ´Ü¼øÇÑ ÅؽºÆ®·Î Àü¼ÛµÇÁö ¾Ê´Â´Ù.

¼­¹ö/Ŭ¶óÀ̾ðÆ® ¿¬°áÀº ¾ÏÈ£ È­µÇÁö ¾Ê´Â´Ù;
¸ðµç Á¤º¸´Â ¿¬°áÀ» º¼ ¼ö ÀÖ´Â ´©±¸¶óµµ ÀÐÀ» ¼ö ÀÖ´Â ÅؽºÆ®·Î Àü¼ÛµÈ´Ù.
ÀÌ ¹®Á¦¿¡ ´ëÇØ  °ÆÁ¤ÀÌ µÇ¸é ¹®Á¦¸¦ ¾î ·Æ°Ô Çϱâ À§ÇØ ¾ÐÃà ÇÁ·ÎÅäÄÝ(mysql 3.22 ÀÌ»ó ¹öÀü)À» »ç¿ëÇÒ ¼ö  ÀÖ´Ù.
º¸¾ÈÀ» ´õ È®½ÇÇÏ°Ô Çϱâ À§ÇØ ssh¸¦ ¼³Ä¡ÇÒ  ¼ö  ÀÖ´Ù.

(http://www.cs.hut.fi/ssh Âü°í) ÀÌ°ÍÀ» ÀÌ¿ëÇØ mysql ¼­¹ö¿Í Ŭ¶óÀ̾ðÆ® »çÀÌ¿¡ ¾ÏȣȭµÈ TCP/IP ¿¬ °áÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

mysql ½Ã½ºÅÛÀÇ º¸¾ÈÀ» À¯Áö ÇÏ°Ô À§ÇØ ´ÙÀ½ÀÇ Á¦¾ÈÀ» ½ÅÁßÇÏ°Ô °í·ÁÇÏÀÚ:

- ¸ðµç mysql »ç ¿ëÀÚ°¡ ºñ¹Ð¹øÈ£¸¦ »ç¿ë.
   ¾î¶² »ç¿ëÀÚ°¡  ºñ¹Ð¹øÈ£°¡ ¾øÀ¸ ¸é 'mysql - u »ç¿ëÀÚÀ̸§' À» ÀÌ¿ëÇØ °£´ÜÇÏ°Ô
    ±× »ç¿ëÀÚ·Î  ·Î±×ÀÎÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ.
   ÀÌ°ÍÀº Ŭ¶óÀ̾ðÆ®/¼­¹ö ¾ÖÇø®ÄÉÀ̼ÇÀÇ  ÀϹÝÀûÀÎ ÀÛµ¿¹æ¹ýÀÌ ´Ù.
   mysql_install_db ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϱâ Àü¿¡ ÀÌ ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÏ¿© ¸ðµç »ç¿ë ÀÚÀÇ ºñ¹Ð¹øÈ£¸¦
   ¹Ù²Ü ¼ö ÀÖ´Ù.
   ¶Ç´Â mysql  root »ç¿ëÀÚÀÇ ºñ¹Ð¹øÈ£¸¦ ¹Ù²Ü ¶§´Â ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù:

shell> mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('new_password')

        WHERE user='root';

mysql> FLUSH PRIVILEGES;

- mysql µ¥¸óÀ» À¯´Ð½ºÀÇ root  »ç¿ëÀÚ·Î ½ÃÀÛÇÏÁö ¸»ÀÚ.
   mysqld ´Â  ´Ù ¸¥ »ç¿ëÀÚ°¡ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
   ¶ÇÇÑ º¸¾ÈÀ» ´õ ¾ö°Ý ÇÏ°Ô Çϱâ À§ÇØ mysqlÀ̶ó´Â À¯´Ð½º »ç¿ëÀÚ¸¦ ¸¸µé ¼ö ÀÖ´Ù.
   ´Ù¸¥ À¯´Ð½º »ç¿ëÀÚ·Î  mysqld¸¦ ½ÇÇàÇϸé user Å×ÀÌºí¿¡¼­ root »ç¿ëÀÚ À̸§À» ¹Ù²Ü ÇÊ¿ä°¡
   ¾ø´Ù.
   mysqld¸¦ ´Ù¸¥ À¯´Ð½º »ç¿ëÀÚ°¡ ½ÃÀÛÇϱâ À§ÇØ mysql.server ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÏ¸é µÈ´Ù.
   ÀϹÝÀûÀ¸·Î su ¸í·ÉÀ»  »ç¿ëÇÑ´Ù.

- mysqld¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¸ÀÌ µ¥ÀÌÅͺ£À̽º  µð·ºÅ丮¿¡ Àбâ/¾²±â ±ÇÇÑÀ» °¡Áö°í
   ÀÖ´ÂÁö È®ÀÎ.

- ¸ðµç »ç¿ëÀÚ¿¡°Ô process ±ÇÇÑÀ» ÁÖÁö ¸»ÀÚ. mysqladmin processlist À» Ãâ·ÂÇϸé
   ÇöÀç ½ÇÇàÇÏ´Â Äõ¸®ÀÇ ³»¿ëÀ» º¼ ¼ö ÀÖ´Ù.
    ±×·¯¹Ç·Î ÀÌ·¯ÇÑ ¸í·ÉÀ»  ½ÇÇàÇÒ  ±ÇÇÑÀÌ  ÀÖ´Â   »ç¿ëÀÚ´Â  ´Ù¸¥  »ç¿ëÀÚÀÇ
    UPDATE  user  SET password=PASSWORD(_'no_secure') ÁúÀǸ¦ º¼ ¼ö ÀÖ ´Ù.
   mysqlÀº process  ±ÇÇÑÀ» °¡Áø »ç¿ëÀÚ¸¦ À§ÇØ Ãß°¡ÀûÀÎ(extra) ¿¬°áÀ» ÀúÀåÇÑ´Ù.
   ±×·¡¼­  mysql root »ç¿ëÀÚ´Â ¸ðµç ÀϹÝÀûÀÎ ¿¬°áÀÌ »ç¿ëµÇ¾ú¾î µµ ·Î±×ÀÎÇÏ°í  Á¡°ËÀ»
   ÇÒ ¼ö ÀÖ´Ù.

- ¸ðµç »ç¿ëÀÚ¿¡°Ô file ±ÇÇÑ À» ÁÖÁö ¸»ÀÚ.
   ÀÌ·¯ÇÑ ±ÇÇÑÀÌ  ÀÖ´Â »ç¿ë ÀÚ´Â mysqld ´ë¸óÀÇ ±ÇÇÑÀÌ ÀÖ´Â ÆÄÀÏ  ½Ã½ºÅÛÀÇ ¾î´À °÷¿¡¶óµµ
   ÆÄÀÏÀ»  ÀúÀåÇÒ ¼ö ÀÖ´Ù.
   Á» ´õ ¾ÈÀüÇÏ °Ô Çϱâ À§ÇØ SELECT ... INTO OUTFILE  ·Î »ý¼ºµÇ´Â ¸ðµç ÆÄÀÏÀº ¸ð µç »ç¿ëÀÚ°¡
   Àб⸸ ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ¹Ì Á¸ÀçÇÏ´Â ÆÄÀÏÀ» µ¤¾î¾º¿ï ¼ö ¾ø´Ù.

(** file ±Ç ÇÑÀº LOAD DATA INFILE , SELECT .. INTO OUTFILE ¹®À» ÀÌ¿ëÇÏ¿© ¼­¹ö¿¡ ÆÄÀÏÀ»
   ÀúÀåÇÏ°í ÀÐÀ» ¼ö ÀÖ´Â ±ÇÇÑÀ» Çã¿ëÇÑ´Ù.
   ÀÌ·¯ ÇÑ ±ÇÇÑÀ» °¡Áø »ç¿ëÀÚ´Â mysql ¼­¹ö°¡ ÀÐ°í ¾µ ¼ö ÀÖ´Â ÆÄÀÏÀ» ÀÐ°í ¾µ ¼ö  ÀÖ´Â
   ±ÇÇÑÀÌ Çã¿ëµÈ´Ù.
   ÀÏ¹Ý »ç¿ëÀÚ¿¡°Ô ÀÌ·± ±ÇÇÑÀ» ÁÙ ÇÊ¿ä´Â ¾ø´Ù.  
   ÇÊ¿äÇÑ ºÎºÐ ¸¸ ±ÇÇÑÀ» ÁÖ´Â °ÍÀÌ ÁÁ´Ù.
   ±ÇÇÑÀ» ³²¿ë¸»ÀÚ. **)

- DNS ¸¦ ½Å·ÚÇÏÁö ¸øÇÑ´Ù¸é ½ÂÀÎ Å×ÀÔ¸£¿¡¼­ È£½ºÆ®À̸§ ´ë½Å  IP¸¦ »ç¿ëÇÏÀÚ.
   ±âº»ÀûÀ¸·Î mysqld ÀÇ  --secure ¿É¼ÇÀº È£½ºÆ®À̸§À» ¾ÈÀüÇÏ°Ô  ÇÑ´Ù.
   ¾î¶² °æ¿ì ¿ÍÀϵåÄ«µå ¹®ÀÚ°¡ Æ÷ÇÔµÈ È£½ºÆ®À̸§ °ªÀ»  »ç¿ëÇÒ¶§´Â ¸Å¿ì Á¶½ÉÇØ¾ß ÇÑ´Ù.

- mysql.server ½ºÅ©¸³Æ®¿¡ ¼­ À¯´Ð½º root »ç¿ëÀÚÀÇ ºñ¹Ð¹øÈ£¸¦ ³Ö´Â´Ù¸é,
    ÀÌ ½ºÅ©¸³Æ®´Â ¿ÀÁ÷ root¸¸ÀÌ ÀÐÀ» ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù.

´ÙÀ½ÀÇ mysqld ¿É¼ÇÀº º¸¾È °ú °ü·ÃµÇ¾î ÀÖ´Ù:

--secure : gethostbyname() ½Ã½ºÅÛ ÄÝ¿¡  ÀÇÇØ ¸®ÅÏµÈ IP ¼ýÀÚ°¡  ¿ø·¡ÀÇ È£½ºÆ®À̸§ À»
   resolve ÇÑ °Í°ú °°ÀºÁö¸¦ Á¡°ËÇÑ´Ù.
    ÀÌ°ÍÀº ¾î¶² »ç¶÷ÀÌ ´Ù¸¥ È£½ºÆ® À̸§À» ¿¡¹Ä·¹ÀÌÅÍÇؼ­ Á¢±ÙÇÏ´Â °Í À» ¾î·Æ°Ô ¸¸µç´Ù.  
   ÀÌ ¿É¼ÇÀº ¶ÇÇÑ È£½ºÆ® À̸§ÀÌ ¿ÂÀüÇÑÁö¿¡ ´ëÇÑ Á¡°ËÀ» Ãß°¡ÇÑ´Ù.
   ÇØ ¼®Çϴµ¥ ¶§·Î´Â ½Ã°£ÀÌ ¸¹ÀÌ °É·Á¼­ mysql 3.21¿¡¼­´Â ±âº»ÀûÀ¸·Î ¼³ Á¤ÀÌ µÇ¾î ÀÖÁö ¾Ê´Ù.
   mysql 3.22¿¡¼­´Â È£½ºÆ® À̸§À» ij½¬ÇÏ°í ÀÌ ¿É¼ÇÀÌ  ±âº»ÀûÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù.

(** ÇÔ¼ö gethostbyname()Àº È£½ºÆ® À̸§À» ÀÎÀÚ·Î ¹Þ¾Æ ±×¿¡ ÇØ´çÇÏ´Â IP ÁÖ¼Ò ¹× ±âŸ Á¤º¸¸¦
   ÇØ´çÇÏ´Â ±¸Á¶Ã¼¿¡ ´ã¾Æ ±× ±¸Á¶Ã¼ÀÇ  Æ÷ÀÎÅ͸¦ ¸®ÅÏÇÏ´Â ÇÔ¼öÀÔ ´Ï´Ù.
   ½±°Ô ¸»Çؼ­ È£½ºÆ® À̸§À» ³ÖÀ¸¸é ÇØ´ç IP ÁÖ¼Ò¸¦ ã¾ÆÁÖÁö¿ä.**)

--skip-grant-tables : ÀÌ ¿É ¼ÇÀ» »ç¿ëÇÏ¸é ¼­¹ö°¡ ±ÇÇÑ ½Ã½ºÅÛÀ» ÀüÇô »ç¿ëÇÏÁö ¾Ê´Â´Ù.
   ±×·¯¸é ¸ðµç »ç¿ëÀÚ°¡ ¸ðµç µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇÒ  ¼ö ÀÖ´Ù!

(mysqladmin reload ¸¦ ½ÇÇà ÇÏ¿© ½ÇÇàÁßÀÎ ¼­¹ö°¡ ½ÂÀÎ Å×À̺íÀ» »ç¿ëÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù.)

--skip-name-resolve : È£½º Æ®À̸§ÀÌ Çؼ®µÇÁö ¾Ê´Â´Ù.
   ½ÂÀÎ Å×À̺íÀÇ  ¸ðµç Host Ä÷³°ªÀº ¹Ýµå½Ã IP ¼ýÀÚÀ̰ųª ·ÎÄÃÈ£½ºÆ®À̾î¾ß ÇÑ ´Ù.

--skip-networking : ³×Æ®¿÷ À» ÅëÇÑ TCP/IP ¿¬°áÀ» Çã¿ë¾ÈÇÔ.
   mysqld¿Í ¸ð µç   ¿¬°áÀº  À¯´Ð½º   µµ¸ÞÀÎ  ¼ÒÄÏÀ»    ÅëÇØ  ¸¸µé¾îÁø´Ù.   
   ÀÌ  ¿É¼ÇÀº MIT- pthreads¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼­´Â Á¦´ë·Î ÀÛµ¿À» ÇÏÁö ¾Ê´Â´Ù.  
   ¿Ö³Ä¸é MIT-pthreads ÆÐÅ°Áö´Â À¯´Ð½º ¼ÒÄÏÀ» Áö¿øÇÏÁö ¾Ê±â ¶§¹®ÀÌ ´Ù.

(** ¸®´ª½º ¸¦ »ç¿ëÇÏ´Â »ç¶÷µé¿¡°Ô´Â  »ó°üÀÌ ¾ø½À´Ï´Ù.
   ±âº»ÀûÀ¸·Î À¯´Ð½º µµ¸ÞÀÎ  ¼ÒÄÏÀ» Áö¿øÇϴϱñ.
   ÀÌ¿Í ºñ½Á ÇÏ°Ô postgresµµ 6.3¹öÀü ÀÌÈĺÎÅÍÀΰ¡¿ä?
   ±âº»ÀûÀ¸·Î À¯´Ð½º µµ¸ÞÀÎ ¼ÒÄÏÀ¸·Î ¹Ù²î¾úÁö¿ä. **)