Oracle/MySQL °ü·Ã °Ô½ÃÆÇ |
---|
2002/08/06(17:41) from 61.80.99.240 | |
ÀÛ¼ºÀÚ : °ÁÙ±â (jkkang65@hanmail.net) | Á¶È¸¼ö : 5101 , ÁÙ¼ö : 276 |
Re: [MySQL] Á¢±Ù °ÅºÎ ¿¡·¯°¡ ³ª´Â ÀÌÀ¯ |
---|
6.11 Á¢±Ù °ÅºÎ ¿¡·¯°¡ ³ª´Â ÀÌÀ¯ mysql ¼¹ö¿¡ ¿¬°áÇÏ·Á ÇÒ ¶§ Á¢±Ù °ÅºÎ ¿¡·¯°¡ ³ª¸é, ¾Æ·¡¿¡¼ ¼³¸íÇÏ´Â °Í¿¡ µû¶ó ÇØ°á ¹æ¹ýÀ» ãÀ» ¼ö ÀÖ´Ù: - Ãʱ⠽ÂÀÎ Å×ÀÌºí ³»¿ëÀ» ¼³Á¤Çϱâ À§ÇØ mysqlÀ» ¼³Ä¡ÇÑ ÈÄ mysql_install_db ½ºÅ© ¸³Æ®¸¦ ½ÇÇàÇÏ¿´´Â°¡? ½ÇÇàÇÏÁö ¾Ê¾Ò´Ù¸é ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏÀÚ. 6.8 [Default privileges] Âü°í. ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇØ Ãʱ⠱ÇÇÑÀ» ½ÃÇèÇØ º¼ ¼ö ÀÖ´Ù: shell> mysql -u root test ¿¡·¯¾øÀÌ ¼¹ö¿¡ Á¢¼ÓÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. mysql µ¥ÀÌÅͺ£À̽º µð·ºÅ丮¿¡ 'user.ISD' ÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇغ¸¾Æ¾ß ÇÑ´Ù. (ÀϹÝÀûÀ¸·Î 'mysql ¼³Ä¡ µð·ºÅ丮 /var/mysql/user.IDS' ÀÌ´Ù) - ¼³Ä¡¸¦ »õ·ÎÇÏ°í ³ÈÄ , ¼¹ö¿¡ ¿¬°áÇÏ°í »ç¿ëÀÚ¿Í Á¢±Ù ±ÇÇÑÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù: shell> mysql -u root mysql Ãʱ⿡ mysql root »ç¿ëÀÚ¸¸ ºñ¹Ð¹øÈ£°¡ ¾ø±â ¶§¹®¿¡ ¼¹ö¿¡ ¿¬°áÇÒ ¼ö ÀÖ´Ù. º¸¾È¹® Á¦°¡ Àֱ⠶§¹®¿¡, ´Ù¸¥ mysql »ç¿ëÀÚ¸¦ ¼³Á¤Çϱâ Àü¿¡ ¸ÕÀú rootÀÇ ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ ÇØ¾ß ÇÑ´Ù. root·Î Á¢¼ÓÇÏ·ÁÇϴµ¥ ´ÙÀ½ÀÇ ¿¡·¯°¡ ³µ´Ù°í °¡Á¤ÇÏÀÚ: Access denied for user: '@unknown' to database mysql ÀÌ°ÍÀº user Å×ÀÌºí¿¡ User Ä÷³ = root ¶ó´Â ¸ñ·ÏÀÌ ¾ø°í, mysqld°¡ »ç¿ëÀÚ Å¬¶óÀ̾ð Æ®ÀÇ È£½ºÆ®À̸§À» Çؼ®ÇÒ ¼ö ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ·± °æ¿ì --skip-grant-tables ¿É¼ÇÀ» ÀÌ¿ëÇØ ¼¹ö¸¦ ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÏ°í '/etc/hosts' ¸¦ ÆíÁýÇϰųª '\windows\hosts' ÆÄÀÏ¿¡ »ç¿ëÀÚ È£½ºÆ® ¸ñ·ÏÀ» Ãß°¡ÇØ¾ß ÇÑ´Ù. - 3.22.11 ÀÌÀü ¹öÀü¿¡¼ 3.22.11À̳ª ÀÌÈÄ ¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ®Çß´Ù¸é, mys ql_fix_privilege_tables ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇߴ°¡? ÇÏÁö ¾Ê¾Ò´Ù¸é ½ÇÇàÇÏÀÚ. mysql 3.22.11¿¡¼ GRANT ¹® ±â´ÉÀÌ °¡´ÉÇØÁö¸é¼ ½ÂÀÎ Å×ÀÌºí ±¸Á¶°¡ ¹Ù²î¾ú´Ù. - (INSERT ³ª UPDATE ¹®À» »ç¿ëÇØ) ½ÂÀÎ Å×À̺íÀ» Á÷Á¢ °íÃÆ°í º¯È°¡ ¾ÆÁ÷ ¹Ý¿µµÇÁö ¾ÊÀº °ÍÀ¸·Î º¸À̸é, FLUSH PRIVILEGES ¹®À» »ç¿ëÇϰųª mysqladmin flush- privileges ¸í·ÉÀ» »ç¿ëÇØ ¼¹ö°¡ ½ÂÀÎ Å×À̺íÀ» ´Ù½Ã Àеµ·Ï ÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ±â¾ï ÇÏÀÚ.±×·¸Áö ¾ÊÀ¸¸é ¼¹ö°¡ Àç½ÃÀÛÇϱâ Àü±îÁö´Â º¯ÈµÈ °ÍÀÌ ¹Ý¿µµÇÁö ¾Ê´Â´Ù. root ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇÏ°í ³ª¼ ±ÇÇÑÀ» flush Çϱâ±îÁö´Â ºñ¹Ð¹øÈ£¸¦ ¸í½ÃÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿Ö³Ä¸é ¼¹ö´Â ¾ÆÁ÷ ºñ¹Ð¹øÈ£¸¦ ¹Ù²Ù¾ú´ÂÁö ¸ð¸£±â ¶§¹®ÀÌ´Ù. - ¼¼¼Ç Áß°£¿¡ ±ÇÇÑÀÌ º¯°æµÈ °ÍÀ¸·Î º¸ÀÌ¸é ½´ÆÛÀ¯Àú°¡ ¹Ù²Ù¾úÀ» °ÍÀÌ´Ù. ½ÂÀÎ Å×ÀÌ ºíÀ» Àç½ÃÀÛÇÏ´Â °ÍÀº »õ·Î¿î Ŭ¶óÀ̾ðÆ® Á¢¼Ó¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö¸¸ ÀÌ¹Ì Á¸ÀçÇÏ°í ÀÖ ´ø ¿¬°áÀº 6.7 [Privileges changes]¿¡¼ ¼³¸íÇÑ´ë·Î ¿µÇâÀ» ¹ÌÄ£´Ù. - ½ÃÇèÇϱâ À§ÇØ, mysqld µ¥¸ó¿¡ --skip-grant-tables ¿É¼ÇÀ» ÁÖ¾î ½ÃÀÛÇÏÀÚ. ±×·¯°í ³ª¼ mysql ½ÂÀÎ Å×À̺íÀ» º¯°æÇÒ ¼ö ÀÖ°í º¯°æµÈ°ÍÀÌ ¿øÇϴ´ë·Î ÀÛµ¿ÇÏ´ÂÁö¸¦ üũ ÇÏ´Â mysqlaccess ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿øÇϴ´ë·Î ¼öÁ¤ÀÌ µÇ¾úÀ¸¸é mysqld ¼ ¹ö°¡ »õ·Î¿î ½ÂÀÎ Å×À̺í·Î ½ÃÀÛÇÒ ÀÖµµ·Ï mysq1admin flush-priveleges ¸¦ ½ÇÇàÇÑ´Ù. ÁÖÀÇ : ½ÂÀÎÅ×À̺íÀ» Àç·ÎµùÇÏ´Â °ÍÀº --skip-grant-tables ¿É¼ÇÀ» ¹«È¿ÈÇÑ´Ù. À̸¦ ÅëÇØ ¼¹ö¸¦ ´Ù¿î½ÃÅ°°í ´Ù½Ã Àç½ÃÀÛÇÏÁö ¾Ê°íµµ ½ÂÀÎ Å×À̺íÀ» ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. - ÆÞ, Python, ODBC ÇÁ·Î±×·¥¿¡¼ Á¢±ÙÇϴµ¥ ¹®Á¦°¡ ÀÖ´Ù¸é, mysql -u user_name db_name ¶Ç´Â mysql -u user_name -pyour_pass db_name À¸·Î ¼¹ö¿¡ Á¢¼ÓÀ» ½ÃµµÇغ¸ ÀÚ. (-p ¿Í ºñ¹Ð¹øÈ£»çÀÌ¿¡´Â °ø¹éÀÌ ¾ø´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ. ¶ÇÇÑ -- password=your_pass ÇüÅ·εµ »ç¿ëÇÒ ¼ö ÀÖ´Ù) mysql Ŭ¶óÀ̾ðÆ®·Î Á¢¼ÓÀÌ µÇ¸é ÇÁ·Î ±×·¥¿¡ ¹®Á¦°¡ ÀÖ´Â °ÍÀ̸ç Á¢±Ù ±ÇÇÑ¿¡´Â ¹®Á¦°¡ ¾ø´Ù. - ºñ¹Ð¹øÈ£°¡ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ¸¸é, INSERT, UPDATE, SET PASSWORD ¹®¿¡¼ ºñ¹Ð¹ø È£¸¦ ¼³Á¤ÇÏ¸é¼ PASSWORD() ÇÔ¼ö¸¦ ¹Ýµå½Ã »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ. PASSWORD () ÇÔ¼ö´Â GRANT ... INDENTIFIED BY ¹®À̳ª mysqladmin password ¸í·ÉÀ» »ç¿ëÇß´Ù¸é ºÒÇÊ¿äÇÏ´Ù. 6.10 [Passwords] Âü°í. - localhost ´Â Áö¿ª È£½ºÆ® À̸§°ú °°Àº ¸»ÀÌ´Ù. ¶ÇÇÑ È£½ºÆ®¸¦ ¸í¹éÇÏ°Ô ¼³Á¤ÇÏÁö ¾ÊÀº °æ¿ì Ŭ¶óÀ̾ðÆ®¿¡¼ ¿¬°áÇÏ·Á´Â È£½ºÆ®ÀÇ ±âº»°ªÀÌ´Ù. ±×·¯³ª MIT-pthreads¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼´Â localhost·ÎÀÇ ¿¬°áÀÌ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. (localhost ¿¬ °áÀº À¯´Ð½º ¼ÒÄÏÀ» ÅëÇØ ¸¸µé¾îÁø´Ù. ±×·¸Áö¸¸ MIT-pthreads¿¡¼´Â À¯´Ð½º ¼ÒÄÏÀ» Áö ¿øÇÏÁö ¾Ê´Â´Ù.) ÀÌ¿Í °°Àº ½Ã½ºÅÛ¿¡¼ ¹®Á¦¸¦ ÇÇÇÏ·Á¸é, ¼¹ö¿¡ È£½ºÆ® À̸§À» ¸íÈ® ÇÏ°Ô ¸»ÇØÁÖ±â À§ÇØ --host ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ±×·¯¸é mysqld ¼¹ö¿¡ TCP/IP ¿¬°á À» ¸¸µç´Ù. ÀÌ°æ¿ì, ¼¹ö È£½ºÆ®ÀÇ user Å×ÀÌºí ¸ñ·Ï¿¡ ½ÇÁ¦ È£½ºÆ®À̸§ÀÌ ÀÖ¾î ¾ß ÇÑ´Ù. (¼¹ö¿Í µ¿ÀÏÇÑ È£½ºÆ®¿¡¼ Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù°í ÇÏ´õ¶óµµ ¸¶ Âù°¡ÁöÀÌ´Ù.) - mysql -u user_name db_name À¸·Î µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇÏ·Á ÇÒ ¶§ Á¢±Ù °ÅºÎ ¿¡·¯ °¡ ³ª¸é, user Å×ÀÌºí¿¡ ¹®Á¦°¡ ÀÖÀ» °ÍÀÌ´Ù. mysql -u root mysql ¸¦ ½ÇÇàÇÏ¿© Á¡°Ë ÇÏ°í ´ÙÀ½ÀÇ SQL ¹®À» »ç¿ëÇÏÀÚ: mysql> SELECT * FROM user; ¿©±â¼ »ç¿ëÀÚÀÇ È£½ºÆ®À̸§°ú mysql »ç¿ëÀÚ À̸§°ú ¸Â´Â Host ¿Í User Ä÷³ÀÇ ¸ñ·Ï ÀÌ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÑ´Ù. - Access denied ¿¡·¯ ¸Þ½ÃÁö´Â Á¢¼ÓÇÏ·Á´Â »ç¿ëÀÚ¿Í È£½ºÆ® À̸§, ±×¸®°í ºñ¹Ð¹øÈ£ ¸¦ »ç¿ëÇß´ÂÁö ¿©ºÎ¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î user Å×ÀÌºí¿¡ ¿¡·¯ ¸Þ½ÃÁö¿¡¼ º¸ ¿©ÁØ È£½ºÆ® À̸§°ú »ç¿ëÀÚ À̸§°ú Á¤È®ÇÏ°Ô ¸Â´Â ¸ñ·ÏÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. - ´Ù¸¥ ½Ã½ºÅÛ¿¡¼ mysql ¼¹ö¿¡ Á¢¼ÓÇÒ ¶§ ´ÙÀ½ÀÇ ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿À¸é, user Å×ÀÌ ºí¿¡ ¿¬°áÀ» ÇÏ·Á°í Çϴ ȣ½ºÆ® À̸§ÀÌ ¾ø´Ù´Â °ÍÀ» ¸»ÇÑ´Ù: Host ... is not allowed to connect to this MySQL server (¼¹ö È£½ºÆ®¿¡¼!) ¸í·ÉÇà À¯Æ¿¸®Æ¼ÀÎ mysqlÀ» »ç¿ëÇÏ¿© user Å×ÀÌºí¿¡ ¿¬°áÇÏ°íÀÚ ÇÏ´Â »ç¿ëÀÚ/È£½ºÆ® À̸§À» Ãß°¡ÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ´Ù. mysql 3.22 ¸¦ »ç¿ëÇÏ°í ÀÖÁö ¾Ê°í ¿¬°áÇÏ°íÀÚ ÇÏ´Â ½Ã½ºÅÛÀÇ IP ¼ýÀÚ³ª È£½ºÆ® À̸§À» ¸ð¸¥´Ù¸é, user Å×ÀÌºí¿¡ Host Ä÷³ °ªÀ¸·Î '%' ¸ñ·ÏÀ» ÀÔ·ÂÇÏ°í ¼¹ö ½Ã½ºÅÛ¿¡¼ --log ¿É¼ÇÀ» »ç¿ëÇØ mysqld ¸¦ Àç½ÃÀÛÇÏÀÚ. Ŭ¶óÀ̾ðÆ® ½Ã½ºÅÛ¿¡¼ ¿¬°áÀ» ½ÃµµÇÑ ÈÄ mysql ·Î±×¿¡´Â ¾î¶»°Ô ½ÇÁ¦ ·Î ¿¬°áÀ» Çß´ÂÁö¿¡ ´ëÇÑ Á¤º¸°¡ µé¾îÀÖ´Ù. (±×·¯°í³ª¼ '%'¸¦ ·Î±×¿¡ ³ª¿Â ½ÇÁ¦ È£½º Æ® À̸§À¸·Î ¹Ù²Û´Ù. ±×·¸Áö¸¸ º¸¾È¿¡ ¹®Á¦°¡ »ý±æ ¼ö ÀÖ´Ù.) - mysql -u root test ´Â ÀÛµ¿À» Çϴµ¥ mysql -h your_hostname -u root test ¿¡¼ Á¢±Ù¿¡ ¿¡·¯°¡ ³ª¸é, user Å×ÀÌºí¿¡ Á¤È®ÇÑ È£½ºÆ® À̸§ÀÌ ¾øÀ» °ÍÀÌ´Ù. ÀϹÝÀûÀÎ ¹® Á¦´Â user Å×À̺íÀÇ Host °ª¿¡´Â ¿ÏÀüÇÏÁö ¾ÊÀº È£½ºÆ® À̸§(** µµ¸ÞÀÎÀº »©°í È£½º Æ® À̸§¸¸ ³ÖÀº °æ¿ì**) ÀÌ µé¾î°¡ Àִµ¥ ½Ã½ºÅÛÀÇ ³×ÀÓ Çؼ® ·çƾÀº FQDN(fully- qualified domain name - ** ¿ÏÀüÇÑ µµ¸ÞÀÎ À̸§°ú È£½ºÆ® À̸§À» »ç¿ë**)À¸·Î ó¸®ÇÏ ´Â °æ¿ìÀÌ´Ù(¶Ç´Â °Å²Ù·Î Çؼ®).¿¹¸¦ µé¾î, user Å×ÀÌºí¿¡ È£½ºÆ® À̸§ÀÌ 'taejun' À¸ ·Î µÇ¾îÀִµ¥, DNS´Â mysql¿¡ È£½ºÆ® À̸§ÀÌ 'taejun.subnet.se'¶ó°í ¾Ë·ÁÁÙ ¼ö ÀÖÀ¸¸ç ÀÌ°æ¿ì´Â Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. user Å×ÀÌºí¿¡ Host Ä÷³ °ªÀ¸·Î¼ ÇØ ´çÇÏ´Â IP ¼ýÀÚ³ª È£½ºÆ® À̸§À» Ãß°¡ÇÏÀÚ. (´ë½Å, user Å×ÀÌºí¿¡ Host °ªÀ¸·Î ¿ÍÀϵå Ä«µå ¹®ÀÚ¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, 'taejun.%'. ±×·¯³ª È£½ºÆ®À̸§ ³¡¿¡ '%'¸¦ »ç¿ëÇÏ´Â °ÍÀº ¾ÈÀüÇÏÁö ¾ÊÀ¸¸ç ±ÇÇÏÁöµµ ¾Ê´Â´Ù!) - mysql -u user_name test ´Â ÀÛµ¿Çϴµ¥ mysql -u user_name other_db_name Àº ÀÛµ¿ ÇÏÁö ¾Ê´Â´Ù¸é db Å×ÀÌºí¿¡ other_db_name ¸ñ·ÏÀÌ ¾ø´Â °æ¿ìÀÌ´Ù. - ¼¹ö ½Ã½ºÅÛ¿¡¼ mysql -u user_name db_name Àº ÀÛµ¿À» Çϴµ¥, ´Ù¸¥Å¬¶óÀ̾ðÆ® ½Ã ½ºÅÛ¿¡¼ mysql -u user_name db_name Àº ÀÛµ¿À» ÇÏÁö ¾Ê´Â´Ù¸é, user Å×À̺íÀ̳ª db Å×ÀÌºí¿¡ Ŭ¶óÀ̾ðÆ® ½Ã½ºÅÛÀÇ ¸ñ·ÏÀÌ ¾ø´Â °ÍÀÌ´Ù. - ¿Ö Access denied °¡ ³ª´ÂÁö ÇØ°áÇÏÁö ¸øÇϸé, user Å×ÀÌºí¿¡¼ ¿ÍÀϵå Ä«µå('%' ¶Ç´Â '_')¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â Host °ªÀ» °¡Áø ¸ñ·ÏÀ» ¸ðµÎ Á¦°ÅÇÏ ÀÚ. ¸Å¿ì ÀϹÝÀûÀÎ ¿¡·¯´Â Host='%' ±×¸®°í User='some user'·Î ÀÔ·ÂÀ» ÇÏ °í³ª¼ , ÀÌ·¸°Ô ÇÏ¸é °°Àº ½Ã½ºÅÛ¿¡¼ ¿¬°áÇÒ ¶§ localhost¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇÑ´Ù°í »ý°¢ÇÏ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀÌ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â ÀÌÀ¯´Â ±âº» ±ÇÇÑ¿¡ Host='localhost' ¿Í User='' ¸ñ·ÏÀÌ Æ÷ÇԵǾî Àֱ⠶§¹®ÀÌ ´Ù. Host °ª¿¡ '%' º¸´Ù ´õ ºÐ¸íÇÑ 'localhost' ¸ñ·ÏÀÌ Àֱ⠶§¹®¿¡, loca lhost¿¡¼ Á¢¼ÓÇÒ ¶§ »õ·Î¿î ¸ñ·Ïº¸´Ù ¸ÕÀú ¼±ÅÃÀÌ µÈ´Ù. Á¤È®ÇÑ ÀýÂ÷´Â µÎ¹ø° Ç׸ñÀ¸·Î Host='localhost' ¿Í User='some_user' ¸¦ ÀÔ·ÂÇϰųª Ho st='localhost' ¿Í User='' ¸¦ Á¦°ÅÇÏ´Â °ÍÀÌ´Ù. - ´ÙÀ½ÀÇ ¿¡·¯°¡ ³ª´Â °æ¿ì: Access to database denied db ³ª host Å×ÀÌºí¿¡ ¹®Á¦°¡ ÀÖÀ» °ÍÀÌ´Ù. ¼±ÅÃÇÑ db Å×À̺íÀÇ ¸ñ·Ï¿¡ Hos t Ä÷³ÀÌ ºñ¾îÀÖ´Ù¸é, host Å×ÀÌºí¿¡ db Å×ÀÌºí ¸ñ·Ï¿¡ Àû¿ëµÇ´Â È£½ºÆ® À̸§ÀÌ ÀÖ´ÂÁö¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù. (** ÀϹÝÀûÀ¸·Î db Å×ÀÌºí¿¡ host °ªÀ» ºñ¿öµÎ´Â °æ¿ì, host Å×ÀÌºí¿¡¼ Á¢±ÙÇϴ ȣ½ºÆ®¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Ù **) - ´ÙÀ½ÀÇ ¿¡·¯°¡ ³ª´Â °æ¿ì: Access to database denied SELECT ... INTO OUTFILE ¶Ç´Â LOAD DATA INFILE ÀÇ SQL ¹®À» »ç¿ëÇÏ´Â °æ ¿ì, user Å×ÀÌºí ¸ñ·Ï¿¡¼ file ±ÇÇÑÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾Ê¾ÒÀ» °ÍÀÌ´Ù. - ´Ù¸¥ ¸ðµç °ÍÀÌ ½ÇÆÐÇÏ¿´À» °æ¿ì, mysqld ´ë¸óÀ» µð¹ö±ë ¿É¼ÇÀ¸·Î ½ÃÀÛ ÇÏÀÚ. (¿¹¸¦ µé¾î, --debug=d,general,query) ±×·¯¸é °¢ ¸í·É¿¡¼ »ý±â´Â Á¤º¸¿Í ÇÔ²², Á¢¼ÓÀ» ½ÃµµÇϴ ȣ½ºÆ®¿Í »ç¿ëÀÚ¿¡ ´ëÇÑ Á¤º¸¸¦ Ãâ·ÂÇÒ °Í ÀÌ´Ù. G.1 [Debugging] Âü°í. - mysql ½ÂÀÎ Å×ÀÌºí¿¡¼ ´Ù¸¥ ¹®Á¦¿¡ ºÎµúÃÆ°í ÀÌ ¹®Á¦¸¦ ¸ÞÀϸµ¸®½ºÆ®¿¡ ¾Ë·Á¾ß°Ú´Ù°í ´À³¢¸é, mysql ½ÂÀÎ Å×À̺íÀ» ´ýÇÁÇÏ¿© Á¦°øÇØ¾ß ÇÑ´Ù. mysq ldump mysql ¸í·ÉÀ» »ç¿ëÇØ Å×À̺íÀ» ´ýÇÁÇÒ ¼ö ÀÖ´Ù. ¾ðÁ¦³ª mysqlbug ½º Æ®¸³Æ®¸¦ »ç¿ëÇÏ¿© ¹®Á¦¸¦ ¿Ã¸®ÀÚ. - ´ÙÀ½ÀÇ ¿¡·¯°¡ ³ª´Â °æ¿ì, mysqld ´ë¸óÀÌ ½ÇÇàµÇÁö ¾Ê°Å³ª À߸øµÈ ¼ÒÄÏ À̳ª Æ÷Æ®·Î ¿¬°áÇÏ·Á°í ½ÃµµÇÏ´Â °æ¿ì: Can't connect to local MySQL server Can't connect to MySQL server on some_hostname ¸ÕÀú mysqld ´ë¸óÀÌ ½ÇÁ¦·Î ÀÛµ¿ÇÏ´ÂÁö ps¸¦ ÀÌ¿ëÇØ È®ÀÎÇÑ´Ù. ¼ÒÄÏ ÆÄÀÏ ÀÌ ÀÖ´ÀÁö È®ÀÎÇÏ°í Á¡°ËÀ» ÇØ º¸¾Æ¾ß ÇÑ´Ù.(ÀϹÝÀûÀ¸·Î `/tmp/mysql.sock ' ÀÓ) ¶Ç´Â telnet host_name 3306 À¸·Î Á¢¼ÓÀ» ½ÃµµÇغ¸ÀÚ. ´õ ÀÚ¼¼ÇÑ Á¤ º¸¸¦ À§ÇØ mysqladmin version °ú mysqladmin -h host_name version À» »ç ¿ëÇØ º¼ ¼ö ÀÖ´Ù. ¹°·Ð Âü°íÇÒ °ÍÀÌ ÀÖ´ÂÁö mysql µ¥ÀÌŸ µð·ºÅ丮ÀÇ ¿¡·¯ ·Î±× ÆÄÀÏÀ» Á¡°ËÇغ¸ÀÚ. {{}}{{}}{{}}- Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥Àº ¼³Á¤ ÆÄÀÏÀ̳ª ȯ°æ º¯¼ö¿¡¼ ÁöÁ¤ÇÑ ¿¬°á ÆÐ ·¯ ¹ÌÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ±â¾ïÇÏÀÚ. ¸í·ÉÇà¿¡¼ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Âµ¥ Ŭ¶óÀ̾ðÆ®°¡ À߸øµÈ ±âº» ¿¬°á Æз¯¹ÌÅ͸¦ º¸³»´Â °ÍÀ¸·Î »ý°¢µÇ¸é, Ȩ µð·ºÅ丮¿¡¼ ȯ°æº¯¼ö³ª '.my.cnf' ÆÄÀÏÀ» Á¡°ËÇغ¸ÀÚ. ºñ·Ï ¿©±â¼ ÁöÁ¤ ÇÑ ¿¬°á Æз¯¹ÌÅÍ¿Í´Â °ü°è°¡ ¸ÖÁö¸¸ ½Ã½ºÅÛÀÇ Àü¹ÝÀûÀÎ mysql ¼³Á¤ ÆÄÀÏ À» Á¡°ËÇØ º¼ ¼ö ÀÖ´Ù. 4.14.4 [Option files] Âü°í. Ŭ¶óÀ̾ðÆ®¿¡¼ ¾Æ¹« ·± ¿É¼Çµµ ÁÖÁö ¾Ê¾Ò´Âµ¥ Access denied ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿À´Â °æ¿ì, ¿É¼Ç ÆÄÀÏ Áß¿¡¼ ¿¹ÀüÀÇ ºñ¹Ð¹øÈ£¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´ÂÁö È®ÀÎÇØ º¸ÀÚ. 4.14.4 [Option files] Âü°í. 6.12 Å©·¢Ä¿¿¡ ´ëºñÇÏ¿© 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 ¸í·ÉÀ» »ç¿ëÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº 16.7 [Changing mysql us er] Âü°í. - 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-pthread s¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼´Â Á¦´ë·Î ÀÛµ¿À» ÇÏÁö ¾Ê´Â´Ù. ¿Ö³Ä¸é MIT-pthre ads ÆÐÅ°Áö´Â À¯´Ð½º ¼ÒÄÏÀ» Áö¿øÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. (** ¸®´ª½º¸¦ »ç¿ë ÇÏ´Â »ç¶÷µé¿¡°Ô´Â »ó°ü¾ø°ÚÁÒ? À¯´Ð½º µµ¸ÞÀÎ ¼ÒÄÏÀ» Áö¿øÇϴϱñ. ÀÌ¿Í ºñ½ÁÇÏ°Ô postgresµµ 6.3¹öÀü ÀÌÈĺÎÅÍÀΰ¡¿ä? ±âº»ÀûÀ¸·Î À¯´Ð½º µµ¸ÞÀÎ ¼ÒÄÏÀ¸·Î ¹Ù²î¾úÁö¿ä. **) |