Error
- "Host not allowed to connect to server" / MySQL µ¥ÀÌŸº£À̽º ¿¬°á
¹æ¹ý
º» ¿¡·¯´Â MySQL ¼¹ö¿¡ ¿ø°ÝÁö¿¡ Àִ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥(SQLGate for MySQL) ÀÌ Á¢±Ù ÇÒ¼ö ÀÖ´Â
±ÇÇÑÀÌ ¾ø±â ¶§¹®ÀÔ´Ï´Ù.
MySQL ¼¹ö °ü¸®ÀÚ¿¡°Ô ¿ÜºÎ¿¡¼ Á¢±Ù ÇÒ¼ö ÀÖµµ·Ï ¿äûÇϽñ⠹ٶø´Ï´Ù.
¸¸¾à Grant ±ÇÇÑÀ» ÁÙ¼ö ÀÖ´Â ±ÇÇÑÀÌ ÀÖÀ¸½Ã´Ù¸é MySQL À» ÅÚ³ÝÀ̳ª ±âŸ ÇÁ·Î±×·¥À¸·Î Á¢¼ÓÇÏ¿© ÇØ´ç
À¯Àú°¡ ¿ÜºÎ¿¡¼ Á¢¼ÓÀÌ °¡´ÉÇϵµ·Ï ¼¼ÆÃÇØ ÁÝ´Ï´Ù.
MySQL Server °¡ Windows ¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â °æ¿ì
Start > Programs > Command Prompt
> CD\
> CD mysql\bin
MySQL ÀÌ ÃÖÃÊ ¼³Ä¡½Ã¿¡´Â Password °¡ ¾ø±â ¶§¹®¿¡ ÆÐ½º¿öµå¸¦ ÁöÁ¤ÇϽñ⠹ٶø´Ï´Ù.
MySQL ¼¹ö¿¡ Root ±ÇÇÑÀ¸·Î Á¢¼ÓÇÒ °æ¿ì
> mysql -u root -p password
¿Ã¹Ù¸£°Ô Á¢¼Ó µÉ °æ¿ì ¾Æ·¡ÀÇ ¸Þ¼¼Áö°¡ ³ª¿É´Ï´Ù.
MySQL Database ¿¡ Á¢¼ÓÇÏ¿© User Å×À̺íÀÇ »óŸ¦ È®ÀÎÇÕ´Ï´Ù.
User Å×À̺íÀº mysql database ³»¿¡ Á¸ÀçÇÕ´Ï´Ù.
mysql>Use mysql
Database changed
mysql> SELECT Host, User, Select_priv, Insert_priv,Update_priv, Delete_priv
FROM user;
À§ÀÇ ±×¸²°ú °°ÀÌ °¢ À¯ÀúÀÇ ±ÇÇÑ ¸®½ºÆ®¸¦ º¼¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ User Å×À̺íÀº MySQL Administrator ¶Ç´Â Root ±ÇÇÑÀ» °¡Áø User ¸¸ÀÌ Ãß°¡/¼öÁ¤/»èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿ÜºÎ¿¡ Á¢¼ÓÇÒ·Á°í ÇÏ´Â À¯Àú¿¡ ´ëÇØ¼ ¾Æ·¡ÀÇ ¸í·É¾î¸¦ ¼öÇàÇÕ´Ï´Ù.
À§¿¡ User Áß¿¡ test ¶ó´Â À¯Àú¸¦ ¿ÜºÎ¿¡¼ Á¢¼Ó °¡´ÉÇϵµ·Ï ¸í·É ÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.
Host : localhost
User : test
mysql> GRANT ALL PRIVILEGES ON *.* to test@"%"
IDENTIFIED BY 'test'
WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)
À§¿¡ ¸í·ÉÀÌ ¿Ã¹Ù¸£°Ô ¼öÇàµÇ¾ú´Ù¸é ²À ¾Æ·¡ÀÇ ¸í·É¾î¸¦ ¼öÇàÇϽñ⠹ٶø´Ï´Ù.
Mysql>flush privileges;
´Ù½Ã User Å×À̺íÀ» È®ÀÎÇÕ´Ï´Ù.
mysql> SELECT Host, User, Select_priv, Insert_priv,Update_priv,
Delete_priv FROM user;
Á¦ÀÏ ÇÏ´Ü¿¡ ±âÁ¸ÀÇ test °èÁ¤¿Ü¿¡°èÁ¤ÀÌ ¶ÇÇϳª°¡ ¸¸µé¾îÁý´Ï´Ù.
Host : %
User : test
test User ·Î ¿ÜºÎ¿¡¼ Á¢¼ÓÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù.
test °èÁ¤À» ´ÜÁö emp ¶ó´Â Database ¿¡¸¸ Á¢¼Ó °¡´ÉÇÏ°Ô ÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.
mysql>GRANT SELECT, INSERT, UPDATE, DELETE ON
emp.* TO
test@localhost IDENTIFIED BY "TestPassword";
mysql>flush privileges;
mysql>GRANT SELECT, INSERT, UPDATE, DELETE ON
emp.* TO
test@www.mysite.com IDENTIFIED BY "TestPassword";
mysql>flush privileges;
GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO
test@¡±%¡± IDENTIFIED BY "TestPassword";
mysql>flush privileges