|
|
|
¸®´ª½ºÆÁ Go Unix Power Tools Online Book
Go Bash Guide
|
|
Read No. 2 article |
2001-08-03 11:50:44 |
|
|
|
|
NickName |
Ç®ºñ´© |
Subject |
My Sql FAQ - from ÇãÁ¤¼ö´Ô |
|
|
MySQL kFAQ ver. 0.0.1
ÀÛ¼ºÀÚ : ÇãÁ¤¼ö(wertyu at nownuri.net)
ÃÖÃÊ ÀÛ¼ºÀÏ : 1999³â 12¿ù 19ÀÏ
MySQL kFAQ ver.
¼öÁ¤ÀÚ :
¼öÁ¤ÀÏ :
------- Â÷·Ê ----------
0. Æ÷±â ¼±¾ð
1. ÀÌ ¹®¼¿¡ ´ëÇؼ
2. MySQLÀÇ Æ¯Â¡ ¹× ÀϹÝÀûÀÎ Áú¹®µé
2.1 MySQLÀÇ Æ¯Â¡Àº ¹«¾ùÀΰ¡¿ä?
2.2 TransactionÀÌ Áö¿ø ¾ÈµÈ´Ù¸é¼¿ä?
2.3 License ¹æ½ÄÀ» ¾Ë°í ½Í½À´Ï´Ù.
2.4 ¿Í¿ì~ MySQLÀ» ¼³Ä¡ÇÏ°í ½Í³×¿ä.
¾î¶»°Ô ÇØ¾ß µÇÁÒ?
3. MySQLÀÇ ¼³Ä¡¿¡ °üÇÑ Áú¹®µé
3.1 ¼³Ä¡´Â ¾î·Æ³ª¿ä?
3.2 ¼³Ä¡¿¡ ÇÊ¿äÇÑ Çϵå¿þ¾î ÃÖ¼Ò »ç¾çÀº ¾ó¸¶³ª µÇ³ª¿ä?
3.3 ¼³Ä¡ÇÏ´Â ¹æ¹ý Á» ¾Ë·ÁÁÖ¼¼¿ä.
3.4 MySQLÀÇ µ¥¸óÀÇ ±¸µ¿
3.5 ÈæÈæ..-_-; Access Denied°¡ ³ª¿É´Ï´Ù.
4. MySQLÀÇ °ü¸®¿¡ °üÇÑ Áú¹®µé
4.1 ¼³Ä¡ ÈÄ¿¡ ÇØ¾ß ÇÒ Àϵé
4.2 »õ·Î¿î »ç¿ëÀÚ Ãß°¡
4.3 Access Denied Á» ÇØ°áÇØÁÖ¼¼¿ä!
4.4 root ¾ÏÈ£¸¦ ÀØ¾î ¹ö·È¾î¿© T.T
4.5 Èì... ¹é¾÷À» ÇÏ·Á°í Çϴµ¥...
4.6 MySQLÀ» ¾÷±×·¹À̵å ÇÏ·Á°í ÇÕ´Ï´Ù.
4.7 MySQLÀ» ºÎÆà ½Ã¿¡ ÀÚµ¿À¸·Î ½ÇÇàµÇ°Ô ÇÏ°í ½ÍÀº¿¡¿ä.
4.8 mysqld ended¶ó°í ³ª¿À¸é¼
µ¥¸óÀÌ °è¼Ó Á×½À´Ï´Ù.
5. MySQL¿¡¼ÀÇ SQL ¾ð¾î¿¡ °üÇÑ Áú¹®µé
5.1 SQL À̶õ°Ô ¸ðÁÒ?
5.2 ANSI SQL92¿Í MySQLÀÇ SQL°úÀÇ Â÷ÀÌÁ¡Àº ¸÷´Ï±î?
5.3 MySQLÀÇ µ¥ÀÌŸ ŸÀÔ¿¡ ´ëÇؼ
5.3.1 MySQLÀÇ µ¥ÀÌŸ ŸÀÔÀ» ¾Ë·ÁÁÖ¼¼¿ä
5.3.2 °ªÀÌ ÀÚµ¿À¸·Î 1¾¿ Áõ°¡ÇÏ°Ô ÇÏ°í ½ÍÀºµ¥¿ä.
5.3.3 AUTO_INCREAMENT´Â ¸ó°¡¿ä?
5.3.4 ÇÑ Ä÷³¿¡¼ ÃÖ´ë ¾ó¸¶³ª ÀúÀåÇÒ ¼ö ÀÖ³ª¿ä?
5.3.5 °Ô½ÃÆÇ µîÀÇ º»¹®À» ÀúÀåÇÏ°í ½ÍÀºµ¥¿ä.. ¹» ½á¾ß ÇÏÁÒ?
5.4 MySQL¿¡¼ÀÇ SQL ¾ð¾î
5.4.1 CREATE
5.4.2 INSERT
5.4.3 SELECT
5.4.4 ALTER
5.4.5 ¾î¶² databaseµéÀÌ ÀÖ³ª ¾Ë°í ½ÍÀºµ¥¿ä?
5.4.6 ¾î¶² Å×À̺íµéÀÌ ÀÖ³ª ¾Ë°í ½Í¾î¿ä.
5.4.7 Å×À̺íÀÇ Ä÷³ Çü½ÄÀ» ¾Ë°í ½Í¾î¿©.
6. MySQL+PHP+Apache¿¡ °üÇÑ Áú¹®µé
6.1 ¼³Ä¡ÇÏ´Â ¹æ¹ý
7. MySQL C API¿¡ °üÇÑ Áú¹®µé
7.1 ¾ËÆĺª ¼øÀ¸·Î Á¤¸®ÇÑ °¢ ÇÔ¼öµéÀÇ ¼³¸íÀ» ³ÖÀÚ.
7.2 °£´ÜÇÑ ¿¹¸¦ ¾òÀ» ¼ö ¾øÀ»±î¿ä?
8. MySQL°ú Perl¿¡ °üÇÑ Áú¹®µé
In the Future
------------------------
0. Æ÷±â ¼±¾ð
ÀÌ ¹®¼¿¡ ÀÖ´Â ³»¿ëÀ» µû¶óÇغ¸´Ù
´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡ ¾î¶°ÇÑ ¹®Á¦°¡ ¹ß»ýÇصµ
ÇÊÀÚ¿¡°Ô´Â ÀüÇô Ã¥ÀÓÀÌ ¾ø´Ù.
µû¶ó¼ ÀÌ ¹®¼¸¦ Àд »ç¶÷µéÀº
½ÅÁßÇØ¾ß ÇÑ´Ù.
1. ÀÌ ¹®¼¿¡ ´ëÇؼ
ÇÊÀÚ´Â 1998³â 7¿ù óÀ½À¸·Î MySQLÀ» »ç¿ëÇØ º¸¾Ò´Ù.
Áö±Ýó·³ ¸¹Àº »ç¶÷µéÀÌ MySQLÀ» ¾²°í ÀÖÁö
¾Ê¾ÒÀ¸¹Ç·Î ¹®Á¦¿¡ ºÎµúÃÆÀ» ¶§ ÇØ°áÇϱⰡ
½±Áö ¾Ê¾Ò´Ù.
¿äÁòÀº ÇÊÀÚ¿¡°Ô Áú¹®À» ÇØ¿À´Â »ç¶÷µéÀÌ ¸¹´Ù.
Áú¹®À» ÇØ¿À´Â »ç¶÷µéÀÇ Áú¹®À» º¸¸é ¸Þ´º¾ó¸¸
º¸¸é ÇØ°áÇÒ ¼ö ÀÖ´Â ¹®Á¦µéÀÌ ´ëºÎºÐÀÌÁö¸¸,
óÀ½ºÎÅÍ ¿µ¾î·Î µÈ ¹æ´ëÇÑ ¾çÀÇ ¸Þ´º¾óÀ» Àбâ¶õ
½¬¿î °ÍÀÌ ¾Æ´Ï°í, ¶ÇÇÑ ¹®Á¦¿¡ ºÀÂøÇÑ »ç¶÷µéÀÇ
*´ä´äÇÑ* ¸¶À½À» ¾Ë±â¿¡ ÃÖ´ëÇÑ ½Ã°£À» ³»¾î
Áú¹®¿¡ ´äÀ» ÇØ ÁÖ°í ÀÖ´Ù.
ÀÌ ¹®¼´Â
i) ÇÊÀÚ¿¡°Ô ¿Â Áú¹®µé
ii) ÇÊÀÚ°¡ »ý°¢ÇÑ 'Èì, ÀÌ ¹®Á¦´Â ´©°¡ Áú¹®ÇÒ°Å °°Àºµ¥'
¶ó°í »ý°¢ÇÑ Áú¹®µé°ú ´äÀ» ¸ð¾Æ ³õÀº ¹®¼µéÀÌ´Ù.
7°³ÀÇ ¼½¼ÇÀ¸·Î Áú¹®µéÀ» ³ª´² ³õ¾Ò´Ù.
ÇÏÁö¸¸, ÀÌ ¹®¼¸¦ ¼öÁ¤ÇÏ´Â »ç¶÷Àº
´©±¸³ª »õ·Î¿î ¼½¼ÇÀ» Ãß°¡ÇÒ ¼ö ÀÖ°í,
Áú¹®ÀÌ ÀûÀýÇÑ ¼½¼Ç¿¡ ÀÖÁö ¾ÊÀ» °æ¿ì
¿Å±æ ¼ö ÀÖ´Ù.
ÇöÀç ÀÌ ¹®¼´Â MySQL 3.22.20 ¹öÀüÀÇ ¸Þ´º¾óÀ» Âü°íÇÏ¿´´Ù.
2. MySQLÀÇ Æ¯Â¡ ¹× ÀϹÝÀûÀÎ Áú¹®µé
2.1 MySQLÀÇ Æ¯Â¡Àº ¹«¾ùÀΰ¡¿ä?
¸Þ´º¾ó¿¡´Â MySQLÀÇ Æ¯Â¡À» ´ÙÀ½°ú °°ÀÌ ¸»ÇÏ°í ÀÖ½À´Ï´Ù.
i) Ä¿³Î ½º·¹µå¸¦ ÀÌ¿ëÇÑ ¸ÖƼ ½º·¹µå¸¦ Áö¿øÇÑ´Ù.
µû¶ó¼, CPU°¡ ¿©·¯ °³ ÀÖÀ» °æ¿ì ¿©·¯ °³ÀÇ CPU¸¦
Àß È°¿ëÇÒ ¼ö ÀÖ´Ù.
i) C, C++, Java, Perl, PHP, Python °ú TCL¿¡ ´ëÇÑ API¸¦ Á¦°øÇÑ´Ù.
i) ¿©·¯ Ç÷§Æû¿¡¼ ÀÛµ¿ÇÑ´Ù.
i) ¸¹Àº Ä÷³ ŸÀÔÀ» Á¦°øÇÑ´Ù.
i) one-sweep multijoinÀ» ÀÌ¿ëÇÏ¿© JoinÀÌ ¸Å¿ì ºü¸£´Ù.
i) SQL ÇÔ¼öµéÀº OptimizedµÈ class library¸¦ ÀÌ¿ëÇÏ¿© ±¸ÇöµÇ¾ú´Ù.
¶ÇÇÑ ¸Å¿ì ºü¸£¸ç, ºÒÇÊ¿äÇÑ ¸Þ¸ð¸® ÇÒ´çÀ» ÇÏÁö ¾Ê´Â´Ù.
i) ±ÇÇÑ°ú ¾ÏÈ£ ½Ã½ºÅÛÀº flexibleÇÏ°í º¸¾ÈÀÌ Àß µÇ¾î ÀÖ´Ù.
¿ø°ÝÀÇ ¼¹ö¿¡ Á¢¼ÓÇÒ ¶§ ¸ðµç ¾ÏÈ£µéÀº ¾ÏÈ£È µÇ¾î Àü¼ÛµÈ´Ù.
i) ODBC¸¦ Áö¿øÇÑ´Ù. µû¶ó¼ Access¸¦ ÀÌ¿ëÇؼ MySQL¿¡ ¿¬°áÇÒ ¼ö
ÀÖ´Ù.
i) Å×ÀÌºí¿¡ 16°³ÀÇ À妽º¸¦ ÁÙ ¼ö ÀÖ´Ù.
i) Å©±â°¡ Å« µ¥ÀÌŸ º£À̽ºµµ ´Ù·ê ¼ö ÀÖ´Ù. ¿ì¸®´Â(MySQL ¸Þ´º¾ó
ÀÛ¼ºÀÚ)
50,000,000 °³ÀÇ ·¹Äڵ带 °¡Áö°í ÀÖ´Â µ¥ÀÌŸº£À̽ºµµ ´Ù·ç°í ÀÖ´Ù.
i) ¸Þ¸ð¸® ´©¼ö°¡ ¾ø´Ù.(»ó¿ë ¸Þ¸ð¸® ´©¼ö °¨Áö ÇÁ·Î±×·¥À¸·Î Å×½ºÆ® Çß´Ù)
i) isamchk¶ó´Â À¯Æ¿¸®Æ¼·Î Å×ÀÌºí °Ë»ç, ¼º´ÉÇâ»ó, ¼ö¸® µîÀ» ÇÒ ¼ö ÀÖ´Ù.
ÀÌ»óÀÌ MySQLÀÇ ¸Þ´º¾ó¿¡¼ ¸»ÇÏ´Â MySQLÀÇ Æ¯Â¡µéÀ» Á¤¸®ÇÑ
°ÍÀÔ´Ï´Ù.
ÇÏÁö¸¸ °³ÀÎÀûÀ¸·Î MySQLÀÇ °¡Àå Å« Ư¡Àº _ºü¸£´Ù_ ¶ó°í »ý°¢ÇÕ´Ï´Ù.
±×¸®°í ¸®´ª½º »ó¿¡¼ ¼Õ½±°Ô ¹«·á·Î ±¸Çؼ ¾µ ¼ö ÀÖ°í,
¶ÇÇÑ »ç¶÷µéÀÌ ¸¹ÀÌ ¾²°í ÀÖÀ¸¹Ç·Î, ¹®Á¦°¡ »ý°åÀ» ¶§ ´ë´äÀ» ÇØÁÙ
»ç¶÷µéµµ ±×¸¸Å ¸¹°ÚÁÒ.
2.2 TransactionÀÌ Áö¿øµÇÁö ¾Ê´Â ´Ù¸é¼¿ä?
³×. ±×·¸½À´Ï´Ù. MySQLÀº TransactionÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
MySQL °³¹ßÀÚµéÀº TransactionÀÌ ¼Óµµ¸¦ ¸Å¿ì ´À¸®°Ô ÇϹǷÎ
TransactionÀ» ±¸ÇöÇÏÁö ¾Ê±â·Î Çß½À´Ï´Ù.
ÇÏÁö¸¸, ²À TransactionÀ» ½á¾ß ÇÒ °æ¿ì lock/unlock tables¸¦
ÀÌ¿ëÇÏ¿© ºñ½ÁÇÑ È¿°ú¸¦ ³¾ ¼ö ÀÖ½À´Ï´Ù.
2.3 MySQLÀÇ License ¹æ½ÄÀ» ¾Ë°í ½Í½À´Ï´Ù.
±âº»ÀûÀ¸·Î MS Windows °è¿À» Á¦¿ÜÇÑ ¸ðµç
OS¿¡¼´Â ¹«·á·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
´Ù¸¸ »ó¿ëÀ» ¸ñÀûÀ¸·Î »ç¿ëÇϰųª, MS Windows °è¿¿¡¼
»ç¿ëÇÒ °æ¿ì¿¡´Â License¸¦ »ç¾ßÇÕ´Ï´Ù.
1 Copy¿¡ US 200$ÀÔ´Ï´Ù.
»ó¿ëÀ¸·Î »ç¿ëÇÑ´Ù°í ÇØ°í, License¾øÀÌ ¾µ ¼ö ÀÖ´Â °æ¿ì°¡
ÀÖ½À´Ï´Ù.
µ·ÀÌ µé¾î°£ ¹®Á¦´Â º¹ÀâÇϹǷΠ´õ ÀÌ»ó À̾߱â ÇÏ°í ½ÍÁö
¾Ê½À´Ï´Ù.
Áß¿äÇÑ °ÍÀº ¹«·á·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌÁÒ.
2.4 ¿Í¿ì~ MySQLÀ» ¼³Ä¡ÇÏ°í ½Í³×¿ä.
¾î¶»°Ô ÇØ¾ß µÇÁÒ?
ÀÌÁ¦ MySQL¿¡ ¸Å·ÂÀ» ´À²»³ª º¸ÁÒ? ¼³Ä¡ ¹æ¹ýÀº
_3.3 MySQLÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ý Á» ¾Ë·ÁÁÖ¼¼¿ä_ ºÎºÐÀ» Àоî
º¸½Ã±â ¹Ù¶ø´Ï´Ù.
3. MySQLÀÇ ¼³Ä¡¿¡ °üÇÑ Áú¹®µé
3.1 ¼³Ä¡´Â ¾î·Æ³ª¿ä?
NEVER!
Àý´ë ¾î·ÆÁö ¾Ê½À´Ï´Ù. °£È¤ ¾î·Á¿òÀ» °Þ´Â »ç¶÷µéÀÌ Àִµ¥
´ëºÎºÐÀº ¸Þ´º¾ó µîÀ» ÀÐÁö ¾Ê°í ´ëÃæ ¼³Ä¡¸¦ ÇÑ °æ¿ìÀÔ´Ï´Ù.
3.2 ¼³Ä¡¿¡ ÇÊ¿äÇÑ Çϵå¿þ¾î ÃÖ¼Ò »ç¾çÀº ¾ó¸¶³ª µÇ³ª¿ä?
¸®´ª½º°¡ ¼³Ä¡µÉ ¼ö ÀÖ´Â Çϵå¿þ¾î¸é µË´Ï´Ù.
¿À¶óŬÀ» ¼³Ä¡ÇÏ´Ù°¡ ÇÏµå µð½ºÅ©°¡ ¸ð¶óÀÚ¼ À©µµ
ÆÄƼ¼ÇÀ» Áö¿ü´ø ±â¾ïÀÌ ³ª´Â±º¿© -_-.
MySQLÀº Á¤¸» ÀÛ°í ºü¸¨´Ï´Ù.
~
3.3 ¼³Ä¡ÇÏ´Â ¹æ¹ý Á» ¾Ë·ÁÁÖ¼¼¿ä.
MySQLÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ý¿¡´Â rpmÀ¸·Î ¼³Ä¡ÇÏ´Â ¹æ¹ý°ú
Source Code·Î ¼³Ä¡ÇÏ´Â ¹æ¹ýÀÌ ÀÖ°ÚÁÒ.
°³ÀÎÀûÀ¸·Î rpmÀ¸·Î ¼³Ä¡ÇÏ´Â ¹æ¹ýÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù.
rpmÀ¸·Î ¼³Ä¡ÇÏ¸é ¹¹¶ö±î.. Àç¹Ì°¡ ¾øÁÒ.
Source Code·Î ¼³Ä¡Çϸé Àç¹Ìµµ ÀÖ°í, ´õ¿í ÁÁÀº °ÍÀº
¼³Ä¡ÇÏ°íÀÚ ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇØ Á»´õ ±íÀÌ ¾Ë ¼ö ÀÖ½À´Ï´Ù.
ÀÏ´Ü MySQLÀÇ ¼Ò½º Äڵ带 http://www.mysql.com¿¡¼
´Ù¿î ¹Þ½À´Ï´Ù.
´Ù¿î¹ÞÀº ÆÄÀÏÀ» Àû´çÇÑ µð·ºÅ͸®·Î º¹»çÇÑ ÈÄ¿¡ ´ÙÀ½°ú °°Àº
¸í·ÉÀ»
³»¸®¸é µË´Ï´Ù.
$ gzip -d mysql-Version.tar.gz
$ tar xvf mysql-Version.tar
$ cd mysql-Version
$ ./configure
$ make
$ make check
$ su (root À¯Àú°¡ ¾Æ´Ò °æ¿ì¿¡¸¸ ½ÇÇà)
# make install
$ cd scripts
$ ./mysql_install_db
Ưº°ÇÑ ¹®Á¦ ¾øÀÌ ¼³Ä¡°¡ Àß µÉ °ÍÀÔ´Ï´Ù.
±âº»ÀûÀ¸·Î MySQLÀÌ ¼³Ä¡µÇ´Â µð·ºÅ͸®´Â
/usr/local/mysql ÀÔ´Ï´Ù.
ÇÏÁö¸¸, ÀڱⰡ ¿î¿µÇÏ´Â ¼¹ö°¡ ¾Æ´Ñ Çб³ÀÇ ¼¹ö µî¿¡
MySQL¿¡ ¼³Ä¡ÇÒ °æ¿ì /usr/local/mysql¿¡ ¾²±â ±ÇȯÀÌ
¾øÀ¸¹Ç·Î
´Ù¸¥ µð·ºÅ͸®·Î ÁöÁ¤À» ÇØ¾ß ÇÏÁÒ
¼³Ä¡ÇÒ µð·ºÅ͸®¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀº
$ ./configure --prefix=/¿øÇÏ´Â/µð·ºÅ͸®
À§Ã³·³ ÇÏ½Ã¸é µË´Ï´Ù.
¼³Ä¡µÈ µð·ºÅ͸® ¹ØÀÇ bin µð·ºÅ͸®¿¡ ½ÇÇà ÆÄÀϵéÀÌ »ý±é´Ï´Ù.
3.4 MySQL µ¥¸óÀÇ ±¸µ¿
MySQLÀÇ µ¥¸óÀÌ ½ÇÇàµÇ°í ÀÖ¾î¾ß mysqlÀ» »ç¿ëÇÒ ¼ö ÀÖ°ÚÁÒ.
MySQLÀÌ ¼³Ä¡µÈ µð·ºÅ͸® ¹ØÀÇ bin/ µð·ºÅ͸®¿¡ º¸¸é
safe_mysqld¶ó´Â ÇÁ·Î±×·¥ÀÌ ÀÖ½À´Ï´Ù.
$ safe_mysqld &
ÀÌ·¸°Ô ½ÇÇàÀ» Çϸé MySQLÀÇ µ¥¸óÀÌ ±¸µ¿µÇÁÒ.
MySQLÀº TCP/IP·Î Client¿Í Åë½ÅÀ» ÇÏ°Ô µÉ ¶§ 3306¹ø
Æ÷Æ®¸¦ »ç¿ëÇÕ´Ï´Ù.
ÀÌ Æ÷Æ®¸¦ ¹Ù²Ù·Á¸é
$ safe_mysqld -P 3333 &
ÀÌ·¸°Ô -P ¿É¼ÇÀ¸·Î Æ÷Æ® ¹øÈ£¸¦ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
3.5 ÈæÈæ..-_-; Access Denied°¡ ³ª¿É´Ï´Ù.
_4.3 Access Denied Á» ÇØ°áÇØÁÖ¼¼¿ä!_ ºÎºÐÀ» º¸½Ã±â
¹Ù¶ø´Ï´Ù.
4. MySQLÀÇ °ü¸®¿¡ ´ëÇÑ Áú¹®µé
4.1 ¼³Ä¡ ÈÄ ÇØ¾ß ÇÒ Àϵé
¼³Ä¡ ÈÄ °¡Àå ¸ÕÀú ÇØ¾ß ÇÒ ÀÏÀº root userÀÇ ¾ÏÈ£¸¦
Á¤ÇÏ´Â ÀÏÀÔ´Ï´Ù.
MySQLÀº »ç¿ëÀÚÀ» -u ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù.
-u ¿É¼ÇÀÌ ¾øÀ» °æ¿ì ±âº»ÀûÀ¸·Î »ç¿ëÀÚÀÇ °èÁ¤À» »ç¿ëÇÕ´Ï´Ù.
¶ÇÇÑ MySQLÀÇ root À¯Àú¿¡´Â Ãʱ⿡ ¾ÏÈ£°¡ °É·ÁÀÖÁö
¾Ê½À´Ï´Ù.
µû¶ó¼ root °¡ ¾Æ´Ñ ¾Æ¹« »ç¿ëÀÚ¶óµµ
[wertyu@ localhost] $ mysql -u root
ó·³ Çؼ MySQLÀÇ root »ç¿ëÀÚ°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.
½Ã½ºÅÛÀÇ °èÁ¤À̸§°ú MySQLÀÇ °èÁ¤ À̸§ÀÌ ´Ù¸£ ´Ù¸¥ °ÍÀ»
²À ±â¾ïÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
¾ÏÈ£¸¦ °Å´Â ¹æ¹ýÀº ¼¼ °¡Áö°¡ ÀÖ½À´Ï´Ù.
i) update¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý
SQL ¹® Áß update¸¦ ÀÌ¿ëÇؼ mysql database
Áß
user tableÀÇ root »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °Å´Â
¹æ¹ýÀÔ´Ï´Ù.
$ mysql -u root mysql
mysql> update user set password =
password('»õ·Î¿î¾ÏÈ£') where user = 'root';
mysql> flush privileges ;
MySQL¿¡¼´Â »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ ¾ÏÈ£È ÇÏ¿©
ÀúÀåÇÕ´Ï´Ù.
¾ÏÈ£¸¦ ¾ÏÈ£È ÇÏ´Â ÇÔ¼ö°¡ password()¶ó´Â
ÇÔ¼öÀÌÁÒ.
ii) SET PASSWORD¸¦ ÀÌ¿ëÇϱâ
mysql> SET PASSWORD for
root=password('»õ·Î¿î¾ÏÈ£');
iii) mysqladmin¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý
$ mysqladmin -u root password »õ·Î¿î¾ÏÈ£
ÀÌ·¸°Ô 3 °¡Áö ¹æ¹ý Áß Çϳª·Î root »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ ¹Ù²Ù½Ç ¼ö
ÀÖ½À´Ï´Ù.
À̶§ i) ¹ø ¹æ¹ýÀ¸·Î ÇÒ °æ¿ì ²À flush privileges; ¸¦ ½ÇÇà
½ÃÄѾß
ÇÕ´Ï´Ù.
ÀÌÁ¦ mysqlÀ» ¾µ ¶§¸¶´Ù -p ¿É¼ÇÀ» ºÙ¿©¾ß ÇÕ´Ï´Ù.
$ mysql -u root -p
4.2 »õ·Î¿î »ç¿ëÀÚ Ãß°¡
»õ·Î¿î »ç¿ëÀÚ¸¦ Ãß°¡ÇØ º¸°Ú½À´Ï´Ù.
$ mysql -u root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO
> wertyu@localhost
> IDENTIFIED BY '¾ÏÈ£' WITH GRANT
OPTION;
ÀÌ·¸°Ô Çؼ ¸ðµç database¿¡ ´ëÇؼ ¸ðµç ±ÇÇÑÀ»
°®´Â
localhostÀÇ wertyu¶ó´Â »ç¿ëÀÚ¸¦ Ãß°¡Çß½À´Ï´Ù.
ÇÊÀÚ´Â ±ÍÂúÀº ¸í·ÉÀ» ±â¾ïÇϱ⠽ÈÀ¸¹Ç·Î
º¸Åë ´ÙÀ½ ó·³ »ç¿ëÀÚ¸¦ Á÷Á¢ INSERTÇÕ´Ï´Ù.
$mysql -u root mysql
mysql> INSERT INTO user
VALUES('localhost', 'wertyu', password('¾ÏÈ£')
>
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') ;
mysql> FLUSH PRIVILEGES ;
»ç¿ëÀÚ°¡ ¾î´À ÇϳªÀÇ database¿¡¸¸ Á¢±ÙÀ» Çϵµ·Ï
Ãß°¡ÇÒ
°æ¿ì°¡ ÀÖ½À´Ï´Ù. ±×¶§´Â ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ³»¸®¸é
µË´Ï´Ù.
mysql> GRANT ALL PRIVILEGES ON inos.*
> TO wertyu@localhost IDENTIFIED by
'¾ÏÈ£';
À§Ã³·³ ÇÏ¿© inos¶ó´Â database¿¡ ¸ðµç ±ÇÇÑÀ»
°®´Â
wertyu¶ó´Â »ç¿ëÀÚ¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ ¸í·ÉÀº SELECT, INSERT, UPDATE
±ÇÇѸ¸À» ÁÙ¶§ÀÇ ¸í·ÉÀÔ´Ï´Ù.
mysql> GRANT SELECT, INSERT, UPDATE
ON inos.*
> TO wertyu@localhost IDENTIFIED by
'¾ÏÈ£' ;
4.3 Access Denied Á» ÇØ°áÇØÁÖ¼¼¿ä!
Access Denied°¡ ³ª¿À¸é¼ ¿¬°áÀÌ ¾ÈµÇ´Â ÀÌÀ¯´Â
¸¹ÀÌ ÀÖÁÒ
MySQLÀ» óÀ½ ¼³Ä¡ÇÏ°í ³ ÈÄ¿¡
$ mysql -u root mysql
À̶ó´Â ¸í·ÉÀ» ³»·È´Âµ¥µµ
Access Denied°¡ ³ª¿Ô´Ù¸é ¼³Ä¡°úÁ¤ÀÇ
mysql_install_db ¸í·ÉÀ»
»©¸Ô°í ¼³Ä¡ ÇϽŠ°ÍÀÔ´Ï´Ù.
Access Denied using password no
¶ó°í ³ª¿Â´Ù¸é ¾ÏÈ£°¡ °É·Á ÀÖ´Â »ç¿ëÀÚÀε¥ ¾ÏÈ£¸¦
ÀÔ·ÂÇÏÁö ¾Ê¾Æ¼
³ª´Â ¿¡·¯ÀÔ´Ï´Ù.
Access Denied using password yes
¶ó°í ³ª¿Â´Ù¸é ¾ÏÈ£¸¦ »ç¿ëÇߴµ¥ ÀÔ·ÂÇÑ ¾ÏÈ£°¡
Ʋ·ÈÀ» °æ¿ìÀÌÁÒ.
ÀÌ ¿Ü¿¡µµ ¼ö¸¹Àº °æ¿ì°¡ Àִµ¥, ÀÌ ºÎºÐÀº ÀÌ ±ÛÀ»
Àд ´Ù¸¥ »ç¿ëÀÚµéÀÌ
Á÷Á¢ Ãß°¡ÇßÀ¸¸é ÇÏ´Â ¹Ù·¥ÀÔ´Ï´Ù. ´ÙÇÔ²² Âü¿©ÇÏ´Â
¹®¼°¡ µÇ¾úÀ¸¸é ÇÕ´Ï´Ù.
4.4 root ¾ÏÈ£¸¦ ÀØ¾î ¹ö·È¾î¿© T.T
rootÀÇ ¾ÏÈ£¸¦ ÀØ¾î ¹ö·ÇÀ» ¶§ Á¤¸» ³°¨ÇÏÁÒ.
±×·¸´Ù°í ´Ù½Ã MySQLÀ» ¼³Ä¡Çϱ⿡µµ ±ÍÂú°í ¸»ÀÌÁÒ.
ÀÌ °æ¿ì¿¡µµ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
¸ÕÀú MySQLÀÇ µ¥¸óÀÌ ½ÇÇà ÁßÀ̶ó¸é µ¥¸óÀÇ ½ÇÇàÀ» ÁßÁö
½ÃÅ°¼¼¿ä.
ÀÌÁ¦ ´Ù½Ã MySQLÀÇ µ¥¸óÀ» ½ÇÇà ½ÃÅ°´Âµ¥ -Sg¶ó´Â ¿É¼ÇÀ»
ÁÝ´Ï´Ù.
$ safe_mysqld -Sg &
-Sg´Â Skip grant tableÀÇ ¾àÀÚÀÌÁö¿ä.
ÀÌ·¸°Ô µ¥¸óÀ» ½ÇÇà ½ÃÅ°¸é ±ÇÇÑÀ» °Ë»çÇÏÁö ¾ÊÀ¸¹Ç·Î
´©±¸³ª MySQL¿¡ Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌÁ¦ mysql databaseÀÇ user tableÀÇ ¾ÏÈ£ ºÎºÐÀ»
UPDATE¸¦ ÀÌ¿ëÇؼ Á÷Á¢ ¼öÁ¤ÇØ ÁÖ¸é µÇ°ÚÁÒ.
MySQL Àüü¸¦ ´Ù½Ã ¼³Ä¡ÇÏ´Â ¼ö°í¸¦ ´ú¾úÀ¸¸é ÇÕ´Ï´Ù. ^^
4.5 Èì... ¹é¾÷À» ÇÏ·Á°í Çϴµ¥...¾î¶»°Ô ÇØ¾ß Çϳª¿ä?
¹é¾÷À» ÇÏ´Â ¹æ¹ýÀº Å©°Ô µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
MySQLÀÇ µ¥ÀÌŸ°¡ ÀÖ´À µð·ºÅ͸® ¹Ø¿¡ ÀÖ´Â ÆÄÀϵéÀ»
±×³É ¸ðµÎ º¹»çÇص״ٰ¡, ÇÊ¿äÇÒ ¶§ ´Ù½Ã
óÀ½ À§Ä¡¿¡ µ¤¾î ¾º¿ì´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
´Ù¸¥ ¹æ¹ýÀ¸·Î´Â mysqldump¶ó´Â À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý
ÀÔ´Ï´Ù.
mysqldump¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸í µå¸®°Ú½À´Ï´Ù.
$ mysqldump [OPTIONS] database [tables]
mysqldump´Â SQL statementµéÀ» »ý¼ºÇÕ´Ï´Ù.
ÇöÀç database¾È¿¡ µé¾î ÀÖ´Â Å×À̺íÀÇ Çü½Ä°ú
Å×ÀÌºí ¾ÈÀÇ µ¥ÀÌŸµé ¶È°°ÀÌ ¸¸µé¾î ³¾ ¼ö ÀÖ´Â
SQL statementµéÀ» »ý¼ºÇÕ´Ï´Ù.
¿¹¸¦µé¾î foo¶ó´Â database°¡ ÀÖ´Ù°í °¡Á¤ÇÏ°í,
foo¸¦ ¹é¾÷¹ÞÀ¸·Á°í ÇÒ °æ¿ì
$ mysqldump foo > foo.backup
ÀÌ·¸°Ô ÇÏ¸é µË´Ï´Ù.
mysqldump´Â ±âº»ÀûÀ¸·Î Ç¥ÁØ Ãâ·ÂÀ¸·Î SQL
statementµéÀ»
Ãâ·ÂÇϹǷΠfoo.backupÀ̶ó´Â ÆÄÀÏ·Î ÀúÀåÇß½À´Ï´Ù.
º¹±¸¸¦ ÇÏ·Á¸é,
$ mysql foo < foo.backup
ÀÌ·± ½ÄÀ¸·Î ÀúÁ¤µÈ SQL statement¸¦ ½ÇÇà ½ÃÅ°¸é µË´Ï´Ù.
4.6 MySQLÀ» ¾÷±×·¹À̵å ÇÏ·Á°í ÇÕ´Ï´Ù. ±âÁ¸ÀÇ µ¥ÀÌŸµéÀº ¾î¶»°Ô
µÇÁÒ?
¾÷±×·¹À̵带 ÇÒ °æ¿ì, »õ·Î¿î ¹öÀüÀÇ MySQL ¹®¼¿¡¼
¾÷±×·¹À̵忡 °üÇÑ
¹®¼¸¦ ²À Àо¼Å¾ß ÇÕ´Ï´Ù.
3.22.x ¹öÀü°ú 3.23.xÀÇ µ¥ÀÌŸµéÀº ȣȯÀÌ µË´Ï´Ù.
±×¸®°í Major ¹öÀüÀÌ °°À¸¸é µ¥ÀÌŸµéÀº °ÅÀÇ È£È¯ÀÌ µË´Ï´Ù.
¶ÇÇÑ, ¹öÀüÀÌ ¿Ã¶ó°¡¸é¼ µ¥ÀÌŸµéÀÌ È£È¯ÀÌ ¾È µÉ °æ¿ì,
Å×À̺íÀÇ ±¸Á¶¸¦ ¾÷±×·¹ÀÌµå ½ÃÄÑÁÖ´Â À¯Æ¿¸®Æ¼µµ °°ÀÌ
¹èÆ÷µË´Ï´Ù.
µû¶ó¼ ¹öÀüÀÌ Å©°Ô º¯ÇÏÁö ¾Ê´Â ÀÌ»ó MySQLÀÇ ¾÷±×·¹À̵å´Â
MySQLÀÇ ¼³Ä¡ °úÁ¤¿¡¼ mysql_install_db °úÁ¤¸¸ »©¸é
µË´Ï´Ù.
4.7 MySQLÀ» ºÎÆà ½Ã¿¡ ÀÚµ¿À¸·Î ½ÇÇàµÇ°Ô ÇÏ°í ½ÍÀºµ¥¿ä.
Á¦°¡ º¸Åë ¾²´Â ¹æ¹ýÀº
/etc/rc.d/rc.local (·¹µåÇÞ ±âÁØ) ÆÄÀÏ¿¡
MySQLÀÌ/¼³Ä¡µÈ/µð·ºÅ͸®/safe_mysqld&
À§ÀÇ ÇÑ ÁÙÀ» Ãß°¡ ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
4.8 mysqld ended¶ó°í ³ª¿À¸é¼ µ¥¸óÀÌ °è¼Ó Á×½À´Ï´Ù.
ÀÌ·± °æ¿ì MySQLÀÇ error log ÆÄÀÏÀ» »ìÆì ºÁ¾ß
Á¤È®ÇÑ ÀÌÀ¯¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù.
error log´Â ±âº»ÀûÀ¸·Î
MySQLÀÇ µ¥ÀÌŸ°¡ ÀúÀåµÈ µð·ºÅ͸®¿¡
host_name.err ¶ó´Â À̸§À¸·Î ÀúÀåµË´Ï´Ù.
Á¤È®È÷ ¾îµðÀÎÁö ¸ð¸¦ °æ¿ì
safe_mysqld ÆÄÀÏÀ» º¸°í MySQLÀÇ µ¥ÀÌŸµéÀÌ ¾î´À
µð·ºÅ͸®¿¡
ÀúÀåµÇ´ÂÁö È®ÀÎÇØ º¸½Ã¸é µË´Ï´Ù.
error logÀÇ ÆÄÀÏÀ» º¸°í ¿¡·¯ÀÇ ¿øÀÎÀ» ¾Ë¾Æ³½ ÈÄ
¹®Á¦¸¦ ÇØ°áÇÏ¸é µË´Ï´Ù.
¹®Á¦°¡ ÇØ°áÀÌ ¾ÈµÉ °æ¿ì error log ÆÄÀÏÀÇ ³»¿ëÀ»
wertyu at nownuri.netÀ¸·Î º¸³»Áֽøé ÃÖ´ëÇÑ µµ¿òÀ»
µå¸®µµ·Ï ³ë·ÂÇØ º¸°Ú½À´Ï´Ù.
5. MySQL¿¡¼ÀÇ SQL ¾ð¾î¿¡ °üÇÑ Áú¹®µé
5.1 SQL À̶õ°Ô ¸ðÁÒ?
SQL(Structured Query Language)´Â DBMS¿¡¼
µ¥ÀÌŸµéÀ» Á¶ÀÛÇϱâ À§ÇÑ ¾ð¾îÀÔ´Ï´Ù.
¾ð¾î¶ó°í Çؼ C ¾ð¾îó·³ ÄÄÆÄÀÏÀ» ÇÏ°í ±×·¸Áø ¾Ê½À´Ï´Ù.
´Ü¼øÈ÷ DBMS¿¡ Query¸¦ ÇÏ°í °á°ú¸¦ ¾ò¾î ¿À´Â ¾ð¾îÀÔ´Ï´Ù.
ÇÏÁö¸¸ DB¸¦ ¹è¿ì±â À§Çؼ´Â ²À ¹è¿ö¾ß ÇÏ´Â ¾ð¾îÀÔ´Ï´Ù.
SQL ¾ð¾î¿¡ ´ëÇؼ °£´ÜÇÏ°Ô ³ª¸¶ ¹è¿öº¸°íÀÚ Çϸé
_5.4 MySQL¿¡¼ÀÇ SQL ¾ð¾î_ºÎºÐÀ» Àо½Ã±â
¹Ù¶ø´Ï´Ù.
5.2 ANSI SQL92¿Í MySQLÀÇ SQL°úÀÇ Â÷ÀÌÁ¡Àº ¸÷´Ï±î?
ÀÌ ºÎºÐÀº MySQL ¸Þ´º¾ó¿¡¼ 5 ÀåÀ» ÀÐ¾î º¸½Ã¸é ÀÚ¼¼È÷
¾Ë ¼ö ÀÖ½À´Ï´Ù.
MySQL¿¡ ¾ø´Â ±â´ÉµéÀº ´ÙÀ½°ú °°½À´Ï´Ù.
i) sub-selects
i) select into table
i) Stored procedures and triggers
( Stored procedure´Â ¾ÕÀ¸·Î Áö¿øÇÒ °èȹÀÓ)
5.3 MySQLÀÇ µ¥ÀÌŸ ŸÀÔ¿¡ ´ëÇؼ
5.3.1 MySQLÀÇ µ¥ÀÌŸ ŸÀÔÀ» ¾Ë·ÁÁÖ¼¼¿ä
¹ØÀÇ Á¤¸®µÈ ÀÚ·á´Â Á¦°¡ ¿¹Àü¿¡ ¸®´ª½º ¿ùµå¶ó´Â
ÀâÁö¿¡ ±â°í Çß´ø ±Û ÁßÀÇ ÀϺÎÀÔ´Ï´Ù.
»õ·Î ¾²±â ±ÍÂú¾Æ¼ ±×³É ¿¾³¯ÀÇ ±ÛÀ» »ç¿ëÇϵµ·Ï
ÇÏ°Ú½À´Ï´Ù.
**************************************************************
TINYINT : ºÎÈ£ÀÖ´Â ¼ö´Â -128¿¡¼ 127±îÁö,
ºÎÈ£ ¾ø´Â ¼ö´Â 0¿¡¼ 255±îÁö Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. 1 ¹ÙÀÌÆ®
SMALLINT : ºÎÈ£ÀÖ´Â ¼ö´Â -32768¿¡¼
32767±îÁö, ºÎÈ£ ¾ø´Â ¼ö´Â 0¿¡¼
65535±îÁö Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. 2 ¹ÙÀÌÆ®
MEDIUMINT : ºÎÈ£ÀÖ´Â ¼ö´Â -8388608ºÎÅÍ
8388607±îÁö, ºÎÈ£¾ø´Â ¼ö´Â 0¿¡¼
16777215±îÁöÀÇ ¼ö¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
3 ¹ÙÀÌÆ®
INT : ºÎÈ£ÀÖ´Â ¼ö´Â -2147483648ºÎÅÍ
2147483647±îÁö, ºÎÈ£¾ø´Â ¼ö´Â
0¿¡¼ 4294967295±îÁöÀÇ ¼ö¸¦ Ç¥ÇöÇÒ
¼ö ÀÖ´Ù. 4 ¹ÙÀÌÆ®
INTEGER : INT¿Í °°´Ù.
BIGINT : ºÎÈ£ÀÖ´Â ¼ö´Â
-9223372036854775808ºÎÅÍ 9223372036854775807
±îÁöÀÇ ¼ö¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ°í, ºÎÈ£¾ø´Â
¼ö´Â 0ºÎÅÍ 18446744073709551615±îÁö
Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. 8¹ÙÀÌÆ®
FLOAT : ´ÜÀÏ Á¤¹Ðµµ¸¦ °¡Áø ºÎµ¿ ¼Ò¼öÁ¡À»
³ªÅ¸³½´Ù. ¾ðÁ¦³ª ºÎÈ£ ÀÖ´Â ¼öÀÌ°í,
-3.402823466E+38ºÎÅÍ
3.402823466E+38±îÁöÀÇ ¼ö¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
DOUBLE : 2¹è Á¤¹Ðµµ¸¦ °¡Áø ºÎµ¿ ¼Ò¼öÁ¡
¼öÀÌ´Ù. ¾ðÁ¦³ª ºÎÈ£ÀÖ´Â ¼öÀÌ°í,
-1.79769313486231517E+308ºÎÅÍ
1.7976931348623157E+308±îÁöÀÇ
¼ö¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
DATE : ³¯Â¥¸¦ Ç¥ÇöÇϴ ŸÀÔÀ¸·Î
'1000-01-01'ºÎÅÍ '9999-12-31'±îÁö¸¦
³ªÅ¸³¾ ¼ö ÀÖ´Ù. 3 ¹ÙÀÌÆ®
DATETIME : ³¯Â¥¿Í ½Ã°£À» °°ÀÌ ³ªÅ¸³»´Â
ŸÀÔÀÌ´Ù. '1000-01-01 00:00:00'
ºÎÅÍ '9999-12-31 23:59:59'±îÁö
³ªÅ¸³¾ ¼ö ÀÖ´Ù. 8 ¹ÙÀÌÆ®
TIMESTAMP: '1970-01-01 00:00:00'ºÎÅÍ
2037³â±îÁö ³ªÅ¸³¾ ¼ö ÀÖ´Ù. 4 ¹ÙÀÌÆ®
TIME : ½Ã°£À» ³ªÅ¸³½´Ù. '-839:59:59'ºÎÅÍ
'838:59:59'±îÁö ³ªÅ¸³¾ ¼ö ÀÖ´Ù.
YEAR : ³âµµ¸¦ ³ªÅ¸³½´Ù. 1901³âºÎÅÍ 2155³â,
0000³âÀ» ³ªÅ¸³¾ ¼ö ÀÖ´Ù.
CHAR(M) : °íÁ¤ ±æÀ̸¦ °®´Â ¹®ÀÚ¿À» ÀúÀåÇÒ ¼ö
ÀÖ´Ù. MÀº 1ºÎÅÍ255±îÁöÀÌ´Ù.
MÀÌ 20À̸é 20°³ÀÇ ¹®ÀÚ¸¦ ÀúÀåÇÒ ¼ö
ÀÖ´Ù.
VARCHAR(M):CHAR´Â °íÁ¤±æÀÌÀÎ ¹Ý¸é
VARCHAR´Â °¡º¯ ±æÀÌÀÌ´Ù. ¿¹¸¦ µé¾î
VARCHAR(20)ÀÎ Ä÷³¿¡ 10ÀÚ¸¸
ÀúÀåÀ» Çϸé, ½ÇÁ¦·Îµµ 10ÀÚ ¸¸ÅÀ»
±â¾ïÀå¼Ò¸¦ Â÷ÁöÇÑ´Ù. ÇÏÁö¸¸, CHAR´Â
³ª¸ÓÁö 10ÀÚ¸¦ °ø¹éÀ¸·Î ¸Å²Û´Ù.
TINYBLOB,TINYTEXT : 255°³ÀÇ ¹®ÀÚ¸¦ ÀúÀåÇÒ
¼ö ÀÖ´Ù. BLOBÀº BINARY LARGE OBJECTÀÇ ¾àÀÚÀÌ´Ù.
BLOB,TEXT : 65535°³ÀÇ ¹®ÀÚ¸¦ ÀúÀåÇÒ ¼ö
ÀÖ´Ù.
MEDIUMBLOB, MEDIUMTEXT :
16777215°³ÀÇ ¹®ÀÚ¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Ù.
LONGBLOB,LONGTEXT :
4294967295(4±â°¡)°³ÀÇ ¹®ÀÚ¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Ù.
************************************************************************
5.3.2 °ªÀÌ ÀÚµ¿À¸·Î 1¾¿ Áõ°¡ÇÏ°Ô ÇÏ°í ½ÍÀºµ¥¿ä.
Ä÷³ÀÇ °ªÀ» ÀÚµ¿À¸·Î 1¾¿ Áõ°¡½ÃÅ°´Â °æ¿ì´Â ¸Å¿ì
¸¹½À´Ï´Ù.
°£´ÜÈ÷ °Ô½ÃÆÇÀ» »ý°¢ÇÑ´Ù¸é, ÇöÁ¦ °Ô½Ã¹°ÀÇ °æ¿ì°¡
140Àε¥
µÎ ¸íÀÌ µ¿½Ã¿¡ °Ô½Ã¹°À» ¿Ã¸°´Ù°í »ý°¢ÇØ º¾½Ã´Ù.
ÀÌ·± °æ¿ì µÎ ±ÛÀÌ ¸ðµÎ 141¹øÀÌ µÉ ¼ö Àֱ⠶§¹®¿¡
,
¾î´À ÇÑÂÊ¿¡¼ ¸ÕÀú table¿¡ LockÀ» °Å´Â ¹æ¹ýÀ»
ÀÌ¿ëÇÏÁÒ.
ÀÌ·± °æ¿ì °ªÀ» ÀÚµ¿À¸·Î 1¾¿ Áõ°¡ ½Ãų ¼ö ÀÖ´Ù¸é
ÆíÇÏ°ÚÁÒ? ^^
MySQL¿¡¼´Â AUTO_INCREMENT¸¦ ÀÌ¿ëÇϸé
µË´Ï´Ù.
´ÙÀ½ÀÇ ¿¹¸¦ º¸ÁÒ.
mysql> create table test( id int not null
auto_increment,
> primary key( id ) ) ;
mysql> insert into test(NULL) ;
mysql> insert into test(NULL) ;
mysql> insert into test(NULL) ;
mysql> select * from test ;
-------
| id |
-------
| 1 |
| 2 |
| 3 |
-------
auto_increment¸¦ »ç¿ëÇϱâ À§ÇÑ Ä÷³Àº ¾ðÁ¦³ª
not nullÀ̾î¾ß ÇÏ°í,
indexÀ̾î¾ß ÇÕ´Ï´Ù.
5.3.3 AUTO_INCREAMENT´Â ¸ó°¡¿ä?
_5.3.2_ÀýÀ» º¸½Ã±â ¹Ù¶ø´Ï´Ù.
5.3.4 ÇÑ Ä÷³¿¡¼ ÃÖ´ë ¾ó¸¶³ª ÀúÀåÇÒ ¼ö ÀÖ³ª¿ä?
MySQL´Â ÆÄÀÏ ½Ã½ºÅÛÀÌ Áö¿øÇÏ´Â ÃÖ´ë ÆÄÀÏ
Å©±â±îÁöÀÇ
¿ë·®À» ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸®´ª½ºÀÇ °æ¿ì´Â ÃÖ´ë 2GB±îÁö ÀúÀåÇÒ ¼ö ÀÖ°í,
UNIX °è¿ÀÇ °æ¿ì´Â 4GBÀÔ´Ï´Ù.
ÁÖÀÇÇÏ½Ç Á¡Àº MySQLÀÌ ´Ù·ê ¼ö ÀÖ´Â µ¥ÀÌŸÀÇ
Å©±â°¡
2GBȤÀº 4GB°¡ ¾Æ´Ï¶ó´Â Á¡ÀÔ´Ï´Ù.
MySQLÀÇ µ¥ÀÌŸ ŸÀÔ Áß °¡Àå Å« ŸÀÔÀº
longtext, longblobÀ¸·Î 4294967295 °³ÀÇ
¹®ÀÚ¸¦ ÀúÀåÇÒ ¼ö ÀÖÁÒ.
5.3.5 °Ô½ÃÆÇ µîÀÇ º»¹®À» ÀúÀåÇÏ°í ½ÍÀºµ¥¿ä.. ¹» ½á¾ß ÇÏÁÒ?
text(65535ÀÚ), mediumtext(16777215ÀÚ),
longtext(4294967295ÀÚ)
À§ÀÇ ¼¼ °³ÀÇ Å¸ÀÔ Áß ¿øÇÏ´Â °ÍÀ» ¾²½Ã¸é µË´Ï´Ù.
5.4 MySQL¿¡¼ÀÇ SQL ¾ð¾î
ÀÌ ºÎºÐÀº In the Future¿¡ ¾²µµ·Ï ÇÏ°Ú½À´Ï´Ù.
http://www.inos.co.kr/wertyu
¿¡ °¡½Ã¸é ÇÊÀÚ°¡ ¿¹Àü¿¡ Àû¾î ³õÀº ±ÛµéÀÌ ÀÖ½À´Ï´Ù.
±ÞÇϽŠºÐµéÀº °¡¼ º¸½Ã°í... ±ÞÇÏÁö ¾ÊÀ¸½Ã°Å³ª
°øºÎÇÏ°í ½ÍÀ¸½Å ºÐµéÀº Ã¥À» »ç¼ º¸´Â°Ô ´õ ÁÁ½À´Ï´Ù.
SQLÀº ±âÃʸ¦ Á¤¸» È®½ÇÈ÷ ´Û¾Æ ³ö¾ß µÚ¿¡ °¡¼ °í»ýÇÏÁö
¾Ê½À´Ï´Ù.
7. MySQL C API¿¡ °üÇÑ Áú¹®µé
7.1 ¾ËÆĺª ¼øÀ¸·Î Á¤¸®ÇÑ °¢ ÇÔ¼öµéÀÇ ¼³¸íÀ» ³ÖÀÚ.
1) my_ulonglong mysql_affected_rows(MYSQL*
mysql)
INSERT, UPDATE, DELETE µîÀÇ query·Î
¿µÇâÀ» ¹ÞÀº ROWÀÇ ¼ö¸¦ ¸®ÅÏÇÑ´Ù.
2) void mysql_close(MYSQL* mysql)
¼¹ö¿ÍÀÇ ¿¬°áÀ» Á¾·áÇÑ´Ù.
3) void mysql_data_seek(MYSQL_RES* result,
unsigned int offset)
result¿¡¼ ÀÓÀÇÀÇ ROW¿¡ Á¢±ÙÀ» Çϵµ·Ï ÇÏ´Â
ÇÔ¼öÀÌ´Ù. offsetÀÌ rowÀÇ ¹øÈ£¸¦
³ªÅ¸³½´Ù. 0À̸é óÀ½ ROW, mysql_num_rows(
result ) - 1 Àº ¸¶Áö¸· row¸¦ ³ªÅ¸³½´Ù.
4) unsigned int mysql_errno(MYSQL* mysql)
°¡Àå ÃÖ±Ù¿¡ mysql¿¡ ÀÏ¾î³ ¿¡·¯ÀÇ ¹øÈ£¸¦ ¸®ÅÏÇÑ´Ù.
5) char* mysql_error(MYSQL* mysql)
°¡Àå ÃÖ±Ù¿¡ ÀÏ¾î³ ¿¡·¯ ¸Þ½ÃÁö¸¦ ¸®ÅÏÇÑ´Ù.
6) MYSQL_FIELD* mysql_fetch_field(MYSQL_RES*
result)
Çѹø È£ÃâÇÒ ¶§¸¶´Ù ÇÑ ³ªÀÇ Çʵ忡 ´ëÇÑ Á¤º¸¸¦
¸®ÅÏÇÑ´Ù.
7) MYSQL_FIELDS*
mysql_fetch_fields(MYSQL_RES* result)
¹è¿ Çü´ë·Î resultÀÇ Çʵ忡 ´ëÇÑ Á¤º¸¸¦ ÇѲ¨¹ø¿¡
¸®ÅÏÇÑ´Ù.
8) MYSQL_FIELD_OFFSET
mysql_field_seek(MYSQL* mysql, MYSQL_FIELD_OFFSET offset)
ÀÓÀÇÀÇ Çʵ忡 Á¢±ÙÀ» Çϵµ·Ï ÇÑ´Ù.
9) MYSQL_FIELD_OFFSET
mysql_field_tell(MYSQL_RES* result)
ÇöÀç ÇʵåÀÇ offsetÀ» ¸®ÅÏÇÑ´Ù.
10) void mysql_free_result(MYSQL_RES* result)
result¿¡ ÇÒ´çµÈ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÑ´Ù.
11) MYSQL* mysql_init(MYSQL* mysql)
mysql °´Ã¼¸¦ ÃʱâÈ ÇÑ´Ù. ÀÎÀÚ°¡ NULLÀ̸é
»õ·Î¿î MYSQL °´Ã¼¸¦ »ý¼ºÇÏ°í, ÃʱâÈ ÇÏ¿© ¸®ÅÏÇÑ´Ù.
12) MYSQL_RES* mysql_list_dbs(MYSQL* mysql,
const char* wild)
ÇöÀç ¼¹ö¿¡ ÀÖ´Â µ¥ÀÌŸº£À̽ºÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù.
wild´Â MySQL¿¡¼
»ç¿ëÇÒ ¼ö ÀÖ´Â Á¤±Ô½ÄÀ» ³ªÅ¸³½´Ù.
result = mysql_list_dbs( &mysql,"%" )
´Â ¸ðµç µ¥ÀÌŸº£À̽º¸¦ ¸®ÅÏÇÏ´Â ¿¹ÀÌ´Ù.(%´Â
'¸ðµç'À» ³ªÅ¸³½´Ù)
13) MYSQL_RES* mysql_list_tables(MYSQL* mysql,
const char* wild)
ÇöÀç µ¥ÀÌŸº£À̽º¿¡ ÀÖ´Â Å×À̺íµéÀÇ ¸ñ·ÏÀ»
¸®ÅÏÇÑ´Ù.
14) unsigned int
mysql_num_fields(MYSQL_RES*result) ȤÀº
unsigned int mysql_num_fields(MYSQL*
mysql) ÇʵåÀÇ ¼ö¸¦ ¸®ÅÏÇÑ´Ù.
15) my_ulonglong mysql_num_rows(MYSQL_RES*
result)
result¿¡ ÃÑ ¸î °³ÀÇ ROW°¡ ÀÖ´ÂÁö ¸®ÅÏÇÑ´Ù.
query ¼öÇà ÈÄ
mysql_store_result()¸¦ È£ÃâÇÏ¿´À» °æ¿ì¿¡¸¸
»ç¿ëÇÒ ¼ö ÀÖ°í,
mysql_use_result()´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.
16) int mysql_ping(MYSQL* mysql)
¼¹ö¿¡ ¿¬°á ÁßÀÎÁö¸¦ ¸®ÅÏÇÑ´Ù. ¿¬°áÀÌ ²÷¾î Á³À»
°æ¿ì, ´Ù½Ã
¿¬°áÀ» ½ÃµµÇÑ´Ù. ¼¹ö¿Í ¿¬°áÀ» ÇÑ ÈÄ ¿À·§µ¿¾È
°¡¸¸È÷ ÀÖÀ¸¸é
¼¹ö°¡ ¿¬°áÀ» ²÷¾î¹ö¸®´Âµ¥, ÀÌ·± °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
17) int mysql_query(MYSQL* mysql, const char*
query)
query°¡ Æ÷ÀÎÆ® ÇÏ´Â Äõ¸®¸¦ ¼öÇàÇÑ´Ù. queryÀÇ
³¡Àº NULL ¹®ÀÚÀÌ´Ù.
¼º°øÀûÀ¸·Î query¸¦ ¼öÇàÇÏ¿´À¸¸é 0À» ¸®ÅÏÇÑ´Ù.
18) MYSQL* mysql_real_connect(MYSQL* mysql,
const char* host, const char* user,
const char* passwd, const char*
db, uint port, const char* unix_socket,
unit client_flag )
host¿ÍÀÇ ¿¬°áÀ» ½ÃµµÇÑ´Ù.
19) int mysql_real_query(MYSQL* mysql, const char*
query, unsigned int length)
mysql_query()ó·³ query¸¦ ¼öÇàÇϳª,
queryÀÇ ³¡ÀÌ legnthÀÎ °ÍÀÌ ´Ù¸£´Ù.
20) MYSQL_ROW_OFFSET
mysql_row_tell(MYSQL_RES* result)
ÇöÀç ROWÀÇ offsetÀ» ¸®ÅÏÇÑ´Ù.
21) int mysql_select_db(MYSQL* mysql, const char*
db)
»ç¿ëÇÏ°íÀÚ ÇÏ´Â database¸¦ º¯°æÇÑ´Ù.
mysql_query()¸¦ ÀÌ¿ëÇÏ¿© "use dbÀ̸§"
ÀÇ query¸¦ ¼öÇàÇصµ °°Àº °á°ú¸¦ ¾ò´Â´Ù.
22) int mysql_shutdown(MYSQL* mysql)
¼¹ö¸¦ Á¾·á½ÃŲ´Ù. ÇöÀç »ç¿ëÀÚ¿¡°Ô shutdown
±ÇÇÑÀÌ ÀÖ¾î¾ß ÇÑ´Ù.
23) MYSQL_RES* mysql_store_result(MYSQL*
mysql)
queryÀÇ ¼öÇà °á°ú¸¦ ¼¹ö·ÎºÎÅÍ ÇÑ ¹ø¿¡ ¸ðµÎ ¹Þ¾Æ
¿Â´Ù.
24) MYSQL_RES* mysql_use_result(MYSQL* mysql)
queryÀÇ ¼öÇà °á°ú¸¦ ¼¹ö·ÎºÎÅÍ ÇÑ °³ÀÇ ROW ¾¿
¹Þ¾Æ ¿Â´Ù.
7.2 °£´ÜÇÑ ¿¹¸¦ ¾òÀ» ¼ö ¾øÀ»±î¿ä?
°¡²û¾¿ MySQLÀÇ ¸ÞÀϸµ ¸®½ºÆ®¿¡ °°Àº Áú¹®ÀÌ ¿Ã¶ó ¿É´Ï´Ù.
±×·± Áú¹®¿¡ ´ëÇÑ ´äº¯À» º¸¸é ¸ðµÎ,
MySQLÀÇ Client ÇÁ·Î±×·¥ÀÎ mysqlÀǼҽº¸¦ º¸¶ó°í ÇÏÁÒ. ^^
¸Â´Â ¸»ÀÔ´Ï´Ù. mysqleh C API¸¦ ÀÌ¿ëÇؼ ¸¸µé¾ú½À´Ï´Ù.
ÇÏÁö¸¸ Àú´Â ÀÌ·± ½ÄÀÇ ´äº¯À» ¹«Áö ½È¾î ÇÕ´Ï´Ù.
¾ÆÁÖ °£´ÜÇÑ ¼Ò½º´Â ¹Ù·Î ¹Ø¿¡ ÀÖ½À´Ï´Ù.
¼Ò½ºÀÇ ¿øº»À̳ª MySQLÀÇ C API¿¡ ´ëÇÑ ´õ¿í ÀÚ¼¼ÇÑ
¼³¸íÀº
http://www.inos.co.kr/wertyu¸¦
¹æ¹®ÇÏ½Ã¸é µË´Ï´Ù.
***********************************************************
1: #include <stdio.h>
2: #include <mysql.h>
3: #include <errno.h>
4:
5: void main(void)
6: {
7: MYSQL mysql ;
8: MYSQL_RES* res ;
9: MYSQL_ROW row ;
10: int fields ;
11:
12: mysql_init(&mysql) ;
13:
14: if(!mysql_real_connect(&mysql,
NULL, "»ç¿ëÀÚ","¾ÏÈ£", "test" ,3306, (char *)NULL, 0))
15: {
16:
printf("%s\n",mysql_error(&mysql));
17: exit(1) ;
18: }
19:
20: if(mysql_query(&mysql, "USE
super") )
// mysql_query()´Â query ¼öÇà½Ã¿¡
¿¡·¯°¡ ³ª°Ô µÇ¸é
// 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÑ´Ù.
{
printf("%s\n",
mysql_error(&mysql) ;
exit(1) ;
}
21: if(mysql_query(&mysql, "SELECT *
FROM dome") )
{
printf("%s\n",
mysql_error(&mysql) ;
exit(1) ;
}
22:
23: res = mysql_store_result( &mysql ) ;
24: fields = mysql_num_fields(res) ;
25:
26: while( ( row = mysql_fetch_row( res
) ))
27: {
28: for( cnt = 0 ; cnt < fields ;
++cnt)
29: printf("%12s ",
row[cnt]) ;
30:
31: printf("\n") ;
32: }
33:
34: mysql_free_result( res ) ;
35: mysql_close(&mysql) ;
36: }
*****************************************************
|
|
Page Loading [ 0.06 Sec ]
SQL Time [ 0 Sec ]
|
|
|