ÃֽŠ°Ô½Ã±Û(DB)
2022.03.01 / 01:36

[MySQL] ¿ø°Ý Á¢¼ÓÀÌ ¾ÈµÉ¶§ È®ÀÎÇÒ »çÇ×

MyData
Ãßõ ¼ö 137

* Linux ¹öÀü: Ubuntu 12.04.5 LTS Server


* ¿ìºÐÅõ Çѱ¹ Ä¿¹Â´ÏƼ: http://www.ubuntu-kr.org/


* Documentation:  https://help.ubuntu.com/


< Ubuntu¿¡¼­ MySQL ¼³Ä¡Çϱâ >


http://jacking.tistory.com/1116


http://security.ubuntu.com/ubuntu/pool/main/m/mysql-5.5/libmysqlclient18_5.5.40-0ubuntu0.12.04.1_amd64.deb


http://jaesu.tistory.com/entry/ubuntu-mysql-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0


MySQL °Ë»ö >


sudo apt-cache search mysql-server


MySQL ¼³Ä¡ >


sudo apt-get install mysql-server

=> 404 ¿¡·¯ ³²


Ubuntu Linux¿¡¼­ MySQLÀ» ¼³Ä¡ÇÏ´Â °¡Àå ½¬¿î ¹æ¹ý


http://www.rackspace.com/knowledge_center/article/installing-mysql-server-on-ubuntu


Ubuntu package manager


sudo aptitude install mysql-server


root Password ¼³Á¤.


¼³Ä¡ ¿Ï·á.


¼³Ä¡µÈ ¹öÀü: Server version: 5.5.41-0ubuntu0.12.04.1 (Ubuntu)


< Booting ½Ã¿¡ ÀÚµ¿À¸·Î MySQL ½ÇÇàµÇµµ·Ï ¼³Á¤ >


sudo /usr/sbin/update-rc.d mysql defaults


¹æÈ­º®À» open ÇØ¾ß ¿ÜºÎ machine¿¡¼­ mysql Server·Î Á¢±ÙÇÒ ¼ö ÀÖ´Ù.


iptables -I INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -I OUTPUT -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT


< Ubuntu: Stat / Stop / Restart Iptables Firewall Service >


http://www.cyberciti.biz/faq/ubuntu-start-stop-iptables-service/


Cafe24ÀÇ °¡»ó¼­¹ö È£½ºÆÃÀ» ÀÌ¿ëÇÏ´Â °æ¿ì ¹æÈ­º® ¼³Á¤ ¸Þ´º°¡ µû·Î À־, ÀÌ ¹æÈ­º®ÀÌ È°¼ºÈ­ µÇ¾î ÀÖ´ÂÁö, È°¼ºÈ­ µÇ¾î ÀÖÀ¸¸é MySQLÀÇ 3306Æ÷Æ®°¡ Open µÇ¾î ÀÖ´ÂÁö È®ÀÎÇØ ºÁ¾ß ÇÑ´Ù.

MySQLÀÇ ¼³Á¤ ÆÄÀÏ(my.cnf) È®ÀÎ

< my.cnf ÆÄÀÏÀÇ À§Ä¡ È®ÀÎÇÏ´Â ¹ý >


mysqld --verbose --help | grep -A 1 'Default options'

³ªÀÇ °æ¿ì´Â /etc/mysql/my.cnf ¿©±â¿¡ ÀÖ¾ú´Ù.


¿©±â¼­ 


bind-address           = 127.0.0.1


¿ÜºÎ¿¡¼­ Á¢¼ÓÇϱâ À§Çؼ­´Â ÀÌ ÁÙÀ» comment ó¸®ÇÑ´Ù.

mysql> show variables like 'skip_networking';


+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| skip_networking | OFF   |
+-----------------+-------+

skip_networking ÀÇ Value °¡ ON À¸·Î Á¶È¸µÈ´Ù¸é, my.cnf ÆÄÀÏ¿¡¼­

skip_networking = ON À¸·Î ¼³Á¤ÇÑ ºÎºÐÀ» ã¾Æ¼­ Áö¿î´Ù.

< mysql service Àç½ÃÀÛ >


sudo service mysql restart


¿ÜºÎ¿¡¼­ Á¢¼ÓÇÒ User ¸¸µé±â


CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Password';


CREATE USER 'testuser'@'%' IDENTIFIED BY 'Password';


# testuser User ¿¡°Ô testdb DB¿¡ ´ëÇÑ ¸ðµç ±ÇÇÑÀ» ºÎ¿©ÇÔ.

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost' WITH GRANT OPTION;


# ¿ÜºÎ¿¡¼­ Á¢¼ÓÇϱâ À§Çؼ­ 'testuser'@'%' User ¿¡ ´ëÇؼ­ ´Ù½Ã GRANT ÇØ ÁÜ.

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%' WITH GRANT OPTION;


# ±ÇÇÑ È®ÀÎ

SHOW GRANTS FOR 'testuser';


mysql> select user, host, password from mysql.user;


+------------------+----------------------+-------------------------------------------+

| user             | host                 | password                                  |

+------------------+----------------------+-------------------------------------------+

| testuser         | %                    |     |

| testuser         | localhost            | *1122333445566778899012345678901234567890 |

+------------------+----------------------+-------------------------------------------+


À§ ó·³ Á¶È¸ ½Ã host '%' ¿¡ ´ëÇؼ­ password °¡ ÁöÁ¤ÀÌ ¾ÈµÇ¾î ÀÖ´ÂÁö È®ÀÎÇØ º»´Ù.

# testuser User ¿¡ ´ëÇؼ­ password ¸¦ ´ÙÀ½°ú °°ÀÌ ´Ù½Ã ÁöÁ¤ÇØ ÁØ´Ù.
mysql> update mysql.user set password=password('Password') where user='testuser';

# ´Ù½Ã MySQL »ç¿ëÀÚ¸¦ Á¶È¸ÇØ º»´Ù.
mysql> select user, host, password from mysql.user;

+------------------+----------------------+-------------------------------------------+

| user             | host                 | password                                  |

+------------------+----------------------+-------------------------------------------+

| testuser         | %                    | *1122333445566778899012345678901234567890 |

| testuser         | localhost            | *1122333445566778899012345678901234567890 |

+------------------+----------------------+-------------------------------------------+

À§ ó·³ host '%' ¿¡ ´ëÇؼ­ password °¡ µ¿ÀÏÇÏ°Ô ÁöÁ¤µÇ¾î ÀÖ¾î¾ß ¿ÜºÎ¿¡¼­ ¿ø°Ý Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù.

mysql> flush privileges;

[Á¢¼Ó È®ÀÎÇϱâ] ¿ÜºÎ PC¿¡¼­ Command Line À¸·Î Á¢¼ÓÇØ º¸¾ÒÀ»¶§

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -htestuser.cafe24.com -utestuser
-p
Enter password: ****************
ERROR 1130 (HY000): Host '61.32.208.***' is not allowed to connect to this MySQL
 server

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -htestuser.cafe24.com -utestuser
-p
Enter password: ****************
ERROR 1045 (28000): Access denied for user 'testuser'@'61.32.208.***' (using passwor
d: YES)


À§ µÎ °æ¿ì´Â ERROR ¸Þ½ÃÁö°¡ ´Ù¸£´Ù. 


À§ÀÇ °æ¿ì(¿¡·¯ ¸Þ½ÃÁö: ERROR 1130 (HY000))´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì.

¾Æ·¡ °æ¿ì(¿¡·¯ ¸Þ½ÃÁö: ERROR 1045 (28000))´Â Password °¡ Ʋ¸° °æ¿ì.


¸î ½Ã°£ µ¿¾ÈÀÇ »ðÁúÀÇ °á·ÐÀº, ¿ø°ÝÀ¸·Î Á¢¼ÓÇϱâ À§Çؼ­´Â HOST '%'¿¡ ´ëÇؼ­µµ »ç¿ëÀÚ¸¦ µû·Î »ý¼ºÇÏ°í, GRANT µµ µû·Î ÇØ ÁÖ°í ³ª¼­ ´Ù½Ã password ¸¦ password() ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ ´Ù½Ã update ÇØ ÁÖ¾î¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù.


±× ÈÄ¿¡,

mysql> flush privileges;

¸¦ ÇØ ÁÖ´øÁö ¾Æ´Ï¸é MySQL ¼­¹ö¸¦ Àç±âµ¿ÇÒ °Í.



Ãâó: https://bryan7.tistory.com/428?category=509877 [¹Î¼­³×Áý]