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¹öÀü ÀÌÈĺÎÅÍÀΰ¡¿ä? ±âº»ÀûÀ¸·Î À¯´Ð½º µµ¸ÞÀÎ
¼ÒÄÏÀ¸·Î ¹Ù²î¾úÁö¿ä. **)

Modify Delete Post Reply Backward Forward List
Powered by Kang Jul Ki