MySQL ¼Ò½º ÀνºÅç
[EUC_KR Á¤·Ä¿É¼Ç Ãß°¡ ¹× ÇÑ±Û ¸Þ½ÃÁö »ç¿ë]
|
ÀÛ¼ºÀÚ: Á¤ÁøÈ£ (loveme@ditco.com) ÀÛ¼ºÀÏ : 1999 .11 .2 ¡Øº»¹®¼´Â ÀúÀÛ±ÇÀÇ º¸È£¸¦ ¹Þ½À´Ï´Ù. Ÿ »çÀÌÆ®¿¡¼ ÀÌ¿ëÇϽ÷Á¸é ¹Ýµå½Ã Ãâó¸¦ ¹àÇôÁּž߸¸ ÇÕ´Ï´Ù.
|
MySQL¿¡¼ ÇÑ±Û Ä³¸¯ÅÍ ¼ÂÀ¸·Î Á¤·ÄÀ» Çϱâ À§Çؼ´Â ¼Ò½º ÄÄÆÄÀÏÀ» ÇØ¾ß ÇÑ´Ù. ¹ÙÀ̳ʸ® ¹èÆ÷ÆÇÀº Latin1À¸·Î ¼³Á¤µÇ¾î ÀÖ¾î Çѱ۷ΠÁ¤·ÄÀÌ Á¦´ë·Î µÇÁö ¾Ê´Â´Ù. °Ë»öÀÌ µÇÁö ¾Ê´Â °ÍÀº ¾Æ´Ï´Ù
ÄÄÆÄÀÏ Àü¿¡ ¹Ýµå½Ã È®ÀÎÇØ¾ß ÇÒ »çÇ×Àº C ÄÄÆÄÀÏ·¯ÀÇ ¹öÀüÀÌ´Ù gcc 2.7.x ¹öÀüÀº ¹ö±×°¡ ÀÖÀ¸¹Ç·Î MySQLÀ» ¼³Ä¡Çϱâ À§Çؼ´Â ²À 2.8.x ¹öÀüÀ¸·Î ¾÷±×·¹À̵åÇÏÀÚ.
·¹µåÇÞ 6.0 ÀÌ»óÀÇ LINUX ¶ó¸é ÀüÇô ¹®Á¦°¡ ¾ø´Ù.
1) ¼³Ä¡Áغñ
¿ì¼± http://www.mysql.org¿¡¼ ÃֽйöÀüÀÇ ¼Ò½º¸¦ ¹Þ¾Æ¿Â´Ù.
ÀÌ ±ÛÀ» ¾²°í ÀÖ´Â ÇöÀç ÃֽйöÀüÀº 3.23 º£Å¸ ¹öÀü°ú 3.22.25 ¹öÀüÀÌ´Ù.
/tmp¿¡ ¼Ò½º¹èÆ÷ÆÇÀÌ ÀÖ´Ù°í °¡Á¤Çϰí ÄÄÆÄÀÏÀ» ½ÃÀÛÇÏÀÚ ¸ÕÀú ¾ÐÃàÀ» Ǭ´Ù
¾ÐÃàÇ®±â : zcat mysql-version.tar.gz | tar xvf -
|
[root@localhost /tmp]# zcat mysql-3.22.23b.tar.gz | tar xvf - mysql-3.22.23b/ mysql-3.22.23b/Makefile.in mysql-3.22.23b/README mysql-3.22.23b/stamp-h.in mysql-3.22.23b/Makefile.am ... ... ... mysql-3.22.23b/support-files/mysql.spec.sh mysql-3.22.23b/support-files/my-example.cnf.sh mysql-3.22.23b/support-files/mysql-log-rotate.sh mysql-3.22.23b/support-files/mysql.server.sh mysql-3.22.23b/support-files/binary-configure.sh
|
2) configure ½ºÅ©¸³Æ® ½ÇÇà
¾ÐÃàÀÌ Ç®¸° µð·ºÅ丮·Î À̵¿ÇÑÈÄ cofigure ¸¦ ½ÇÇàÇÑ´Ù »ç¿ë°¡´ÉÇÑ ¿É¼ÇÀ» ÀÚ¼¼È÷ º¸·Á¸é --help ¸¦ ºÙ¿©ÁÖ¸é µÈ´Ù.
|
[root@localhost /tmp]# cd mysql-3.22.23b [root@localhost mysql-3.22.23b]# ./configure --help Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print `checking...' messages --version print the version of autoconf that created configure ...
|
´Ù¸¥ ¿É¼ÇÀº ¸ðµÎ µðÆúÆ® °ªÀ» ¾²°í --prefix=PREFIX ¿Í --with-charset=CHARSET µÎ°¡Áö¸¸ ¼³Á¤À» ÇϰڴÙ.
--prefix : ÄÄÆÄÀÏÀÌ ³¡³ ÈÄ ÆÄÀϵéÀÌ ÀνºÅçµÇ´Â µð·ºÅ丮¸¦ Á¤ÇØÁØ´Ù.
--with-charset : Á¤·Ä¿¡ »ç¿ëµÉ ij¸¯ÅÍ ¼ÂÀ» Á¤ÇØ ÁØ´Ù. ÇѱÛÁ¤·ÄÀ» À§ÇØ ÇÊ¿äÇÏ´Ù.
±âº»ÀûÀ¸·Î Á¤ÇØÁø °ªÀº latin1 ÀÌ¸ç ´ÙÀ½ °ªµé Áß Çϳª·Î ¼³Á¤ÇØ ÁÙ ¼ö ÀÖ´Ù.
use specified charset (default is latin1, must be one of: big5 danish cp1251 cp1257 croat czech dec8 dos euc_kr german1 hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1251 win1251_ukr ujis sjis tis620)
±×·³ µÎ °¡Áö ¿É¼ÇÀ» ÁÖ°í configure ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏÀÚ. ¼³Ä¡µÉ µð·ºÅ丮´Â /usr/local/mysql ·Î Çϰí euc_kr Á¤·Ä ¿É¼ÇÀ» ÁØ´Ù
|
#./configure --prefix=/usr/local/mysql --with-charset=euc_kr
loading cache ./config.cache checking host system type... i586-pc-linux-gnu checking target system type... i586-pc-linux-gnu checking build system type... i586-pc-linux-gnu checking for a BSD compatible install... (cached) ... ... ...
MySQL has a Web site at http://www.tcx.se/ which carries details on the latest release, upcoming features, and other information to make your work or play with MySQL more productive. There you can also find information about mailing lists for MySQL discussion.
Remember to check the platform specific part in the reference manual for hints about installing on your platfrom. See the Docs directory.
Thank you for choosing MySQL! |
3) make
ÀÌÁ¦ º»°ÝÀûÀ¸·Î ÄÄÆÄÀÏÇÒ Áغñ°¡ ³¡³µ´Ù. ¸¶À½À» °¡´Ùµë°í ÄÄÆÄÀÏÀ» ½ÃÀÛÇÏÀÚ
|
[root@localhost mysql-3.22.23b]# make make all-recursive make[1]: Entering directory `/tmp/mysql-3.22.23b' Making all in Docs make[2]: Entering directory `/tmp/mysql-3.22.23b/Docs' make[2]: Nothing to be done for `all'. ... ... ... |
ÄÄÆÄÀÏ ½Ã°£Àº AMD K6-2 350MHz, 64M RAMÀ» °¡Áø PC¿¡¼ 5ºÐ 20ÃÊ Á¤µµ °¡ ¼Ò¿äµÇ¾ú´Ù. Âü°í·Î ¿¹Àü¿¡ 3.21.20 ¹öÀüÀ» 486DX66 , RAM 16MÀÇ ¸®´ª½º ¸Ó½Å¿¡¼ ÄÄÆÄÀÏ ÇßÀ» ¶§´Â 2 ½Ã°£ 30ºÐ Á¤µµ °É·È´ø ±â¾ïÀÌ ³´Ù. ¸¸ÀÏ ÄÄÆÄÀÏ Áß¿¡ ¹®Á¦°¡ ¹ß»ýÇϸé INSTALL-SOURCE ÆÄÀÏÀ» Âü°íÇÑ´Ù. ¿©·¯ °¡Áö »óȲº°·Î ¹®Á¦ ÇØ°á ¹æ¹ýÀÌ ÀÚ¼¼È÷ ¼³¸íµÇ¾î ÀÖ´Ù.
4) make install
ÄÄÆÄÀÏ¿¡ ÀÇÇØ ¸¸µé¾îÁø ÆÄÀϵéÀ» ÀνºÅçÇÏÀÚ
|
[root@localhost mysql-3.22.23b]# make install Making install in Docs make[1]: Entering directory `/tmp/mysql-3.22.23b/Docs' make[2]: Entering directory `/tmp/mysql-3.22.23b/Docs' make[2]: Nothing to be done for `install-exec-am'. /bin/sh ../mkinstalldirs /usr/local/mysql/info mkdir /usr/local/mysql ... ... ... make[2]: Leaving directory `/tmp/mysql-3.22.23b' make[1]: Leaving directory `/tmp/mysql-3.22.23b' [root@localhost mysql-3.22.23b]# |
5) ±ÇÇÑ Å×À̺í ÃʱâÈ : mysql_install_db ½ÇÇà
ÀνºÅçÀÌ ¿Ï·áµÈ MySQL µð·ºÅ丮·Î À̵¿ÇÑ´Ù
[root@localhost mysql-3.22.23b]# cd /usr/local/mysql
±× ´ÙÀ½Àº MySQL µ¥ÀÌÅͺ£À̽ºÀÇ °¢Á¾ ±ÇÇÑÀ» °ü¸®ÇÏ´Â µ¥ÀÌÅͺ£À̽º mysql¿¡ Å×À̺íÀ» »ý¼ºÇÏ´Â ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù.
/usr/local/mysql/bin¿¡ ÀÖ´Â mysql_install_db ½ºÅ©¸³Æ®°¡ ±× ¿ªÇÒÀ» ÇÑ´Ù.
Âü°í·Î ¹ÙÀ̳ʸ® º£Æ÷ÆÇÀº ÀÌ ÆÄÀÏÀÌ scripts µð·ºÅ丮¿¡ ÀÖ´Ù.
±âº» Å×ÀÌºí »ý¼º : ./bin/mysql_install_db
|
[root@localhost mysql]# ./bin/mysql_install_db Creating db table Creating host table Creating user table Creating func table Creating tables_priv table Creating columns_priv table
To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! This is done with: /usr/local/mysql/bin/mysqladmin -u root password 'new-password' See the manual for more instructions.
Please report any problems with the /usr/local/mysql/bin/mysqlbug script!
The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://www.tcx.se/license.htmy.
[root@localhost mysql]# |
µ¥ÀÌÅÍ ÆÄÀÏÀÇ À§Ä¡´Â /usr/local/var ÀÌ¸ç µ¥ÀÌÅͺ£À̽º´Â µð·ºÅ丮·Î Å×À̺íÀº ÆÄÀÏ·Î Á¸ÀçÇÑ´Ù. Âü°í·Î ¹ÙÀ̳ʸ® ÀνºÅç ½Ã¿¡´Â µ¥ÀÌÅÍ µð·ºÅ丮´Â /usr/local/mysql/data ÀÌ´Ù.
±ÇÇÑ Å×À̺íµéÀÌ ¸¸µé¾îÁ³À¸¸é ¸ÕÀú MySQL root À¯ÀúÀÇ ÆÐ½º¿öµå¸¦ º¯°æÇØ¾ß ÇÑ´Ù.
½Ã½ºÅÛÀÇ root¿Í´Â ÀüÇô »ó°üÀÌ ¾ø´Â MySQL ÀÇ ±âµ¿, ±ÇÇѰü¸®, µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ µî·Ï µîÀÇ ÀÛ¾÷À» ÇÏ´Â »ç¿ëÀÚ ÀÌ´Ù.
MySQL root ¾ÏÈ£ º¯°æ¹æ¹ý
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
À§¿Í °°Àº ¹æ¹ýÀ¸·Î º¯°æÇÑ´Ù.
±×·¯³ª ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù.
|
[root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -u root password '1234' /usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)' Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists! [root@localhost mysql]# |
¿øÀÎÀº MySQL ÀÇ µ¥ÀÌÅͺ£À̽º ¼¹ö µ¥¸óÀÌ µ¿ÀÛÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.
6) MySQL ¼¹ö µ¥¸óÀÇ ±âµ¿ : safe_mysqld
safe_mysqld ½ºÅ©¸³Æ®´Â ¼¹ö µ¥¸óÀÎ mysqld (MySQL µð·ºÅ丮ÀÇ libexec ¿¡ ÀÖ´Ù) ¸¦ ½ÃÀÛÇϰųª ºñÁ¤»óÀûÀ¸·Î Á¾·áµÈ °æ¿ì Àç½ÃÀÛ ÇÑ´Ù.
¸ÕÀú µ¥¸óÀ» ±âµ¿ ½ÃŰÀÚ. Çѱ۷Π¸Þ½ÃÁö¸¦ º¸±â À§ÇØ ¿É¼ÇÀ» ÁÙ ¼ö ÀÖ´Ù.
|
# ./bin/safe_mysqld --language=korean & |
=====
ÆÁ : MySQL ÀÇ °¢Á¾ ¸Þ½ÃÁö¸¦ Çѱ۷Πº¸±â¸¦ ¿øÇϸé --language=korean ¿É¼ÇÀ» ÀÌ¿ëÇÑ´Ù.
======
±×¸®°í ¼¹ö µ¥¸óÀ» ¹é±×¶ó¿îµå·Î µ¿ÀÛ½Ã۱â À§ÇØ ¹Ýµå½Ã ¸í·É µÚ¿¡ &¸¦ ºÙ¿©ÁØ´Ù
|
[root@localhost mysql]# ./bin/safe_mysqld & [1] 24879 [root@localhost mysql]# Starting mysqld daemon with databases from /usr/local/mysql/var <- enter ¸¦ Çѹø ÃÄÁØ´Ù [root@localhost mysql]# |
ÇÁ·Î¼¼½º¸¦ È®ÀÎÇØ º¸ÀÚ
|
[root@localhost mysql]# ps -ef | grep mysql root 24879 634 0 23:33 pts/1 00:00:00 sh ./bin/safe_mysqld root 24891 24879 0 23:33 pts/1 00:00:00 /usr/local/mysql/libexec/mysqld root 24893 24891 0 23:33 pts/1 00:00:00 /usr/local/mysql/libexec/mysqld root 24894 24893 0 23:33 pts/1 00:00:00 /usr/local/mysql/libexec/mysqld root 24909 634 0 23:41 pts/1 00:00:00 grep mysql |
À§¿Í °°ÀÌ 3°³ÀÇ µ¥¸óÀÌ ¶° ÀÖÀ¸¸é Á¤»óÀÌ´Ù.
pstree ¸í·ÉÀ¸·Îµµ È®ÀÎÇØ º¸ÀÚ
|
[root@localhost mysql]# pstree
init-+-atd : |-hanterm---bash-+-pstree | `-safe_mysqld---mysqld---mysqld---mysqld :
|
7) °ü¸®ÀÚ ¾ÏÈ£ º¯°æ
ÀÌÁ¦ µ¥¸óÀÌ ±âµ¿ µÇ¾úÀ¸´Ï ´Ù½Ã Çѹø ¾ÏÈ£º¯°æÀ» ½ÃµµÇØ º»´Ù.
|
root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -u root password '1234' [root@localhost mysql]# |
¾ðÁ¦³ª ±×·¸µíÀÌ ¹«¼Ò½ÄÀÌ Èñ¼Ò½ÄÀÌ´Ù.
8) Å×½ºÆ®
Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ´ÂÁö ¸î °¡Áö Å×½ºÆ®¸¦ ÇØº¸ÀÚ. ¿ì¼± mysql À̶ó´Â Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ ±ÇÇѰü¸® µ¥ÀÌÅͺ£À̽ºÀÎ mysql¿¡ Á¢¼ÓÇØ º¸ÀÚ
»ç¿ë¹ý : ./bin/mysql [OPTIONS] [database]
´õ ¸¹Àº ¿É¼ÇÀ» ¾Ë°í ½ÍÀ¸¸é ./bin/mysql --help ¶ó°í ÀÔ·ÂÇÏ¸é µÈ´Ù.
|
[root@localhost mysql]# ./bin/mysql mysql ERROR 1045: 'root@localhost' »ç¿ëÀÚ´Â Á¢±ÙÀÌ °ÅºÎ µÇ¾ú½À´Ï´Ù. (Using password: ¾Æ´Ï¿À) |
Á¢¼ÓÀÌ °ÅºÎµÇ¾ú´Ù´Â ¿¡·¯°¡ ¹ß»ýÇÏ¿´´Ù. ´ç¿¬ÇÏ´Ù À§¿¡¼ ÀÌ¹Ì MySQL °ü¸®ÀÚ ¾ÏÈ£¸¦ º¯°æÇ߱⠶§¹®¿¡ ¾ÏÈ£¸¦ ÀÌ¿ëÇØ¾ß ÇÑ´Ù.
|
[root@localhost mysql]# ./bin/mysql -p1234 mysql |
À§¿Í °°ÀÌ passwd¸¦ ÀǹÌÇÏ´Â -p ¿É¼Ç µÚ¿¡ °ø¹é ¾øÀÌ ¾ÏÈ£¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù.
´ÙÀ½°ú °°ÀÌ -p¿É¼ÇÀ» ÀÌ¿ëÇÏ°í ³ªÁß¿¡ ¾ÏÈ£¸¦ ÀÔ·ÂÇÏ´Â ¹æ½ÄÀÌ Á»´õ ¹Ù¶÷Á÷ÇÏ´Ù.
|
[root@localhost mysql]# ./bin/mysql -p mysql Enter password: |
¾ÏÈ£°¡ ¸Â´Â´Ù¸é ´ÙÀ½°ú °°Àº ȸéÀÌ ¿©·¯ºÐÀ» ¹Ý±æ °ÍÀÌ´Ù.
|
Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 5 to server version: 3.22.23b
Type 'help' for help.
mysql>
¸î °¡Áö ¸í·ÉÀ» °¢ÀÚ Å×½ºÆ® ÇØ º¸ÀÚ
mysql> status -------------- ./bin/mysql Ver 9.32 Distrib 3.22.23b, for pc-linux-gnu (i586)
Connection id: 6 Current database: mysql Current user: root@localhost Server version 3.22.23b Protocol version 10 Connection Localhost via UNIX socket UNIX socket /tmp/mysql.sock Uptime: 8 min 43 sec
Threads: 1 Questions: 37 Slow queries: 0 Opens: 10 Flush tables: 1 Open tables: 6 --------------
mysql> select pi()*4/10 ; +------------+ | pi()*4/10 | +------------+ | 1.25663706 | +------------+ 1 row in set (0.00 sec)
mysql> select 'Hello World? I'm MySQL' AS string1 ; +------------------------+ | string1 | +------------------------+ | Hello World? I'm MySQL | +------------------------+ 1 row in set (0.00 sec)
mysql> select now() ; +---------------------+ | now() | +---------------------+ | 1999-07-16 00:05:42 | +---------------------+ 1 row in set (0.00 sec)
mysql> use mysql Database changed mysql> desc user ; +-----------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+---------------+------+-----+---------+-------+ | Host | char(60) | | PRI | | | | User | char(16) | | PRI | | | | Password | char(16) | | | | | | Select_priv | enum('N','Y') | | | N | | | Insert_priv | enum('N','Y') | | | N | | | Update_priv | enum('N','Y') | | | N | | | Delete_priv | enum('N','Y') | | | N | | | Create_priv | enum('N','Y') | | | N | | | Drop_priv | enum('N','Y') | | | N | | | Reload_priv | enum('N','Y') | | | N | | | Shutdown_priv | enum('N','Y') | | | N | | | Process_priv | enum('N','Y') | | | N | | | File_priv | enum('N','Y') | | | N | | | Grant_priv | enum('N','Y') | | | N | | | References_priv | enum('N','Y') | | | N | | | Index_priv | enum('N','Y') | | | N | | | Alter_priv | enum('N','Y') | | | N | | +-----------------+---------------+------+-----+---------+-------+ 17 rows in set (0.00 sec)
mysql> select Host, User ,Password , Select_priv , Insert_priv from user ; +-----------------------+------+------------------+-------------+-------------+ | Host | User | Password | Select_priv | Insert_priv | +-----------------------+------+------------------+-------------+-------------+ | localhost | root | 446a12100c856ce9 | Y | Y | | localhost.localdomain | root | | Y | Y | | localhost | | | N | N | | localhost.localdomain | | | N | N | +-----------------------+------+------------------+-------------+-------------+ 4 rows in set (0.00 sec)
mysql> q Bye [root@localhost mysql]# |
9) MySQL ¼¹ö ÁßÁö
MySQL¼¹öÀÇ µ¿ÀÛÀ» ÁßÁö½Ã۱â À§Çؼ´Â ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÑ´Ù.
==============================
¼¹ö ÁßÁö : ./bin/mysqladmin shutdown
=============================
|
[root@localhost mysql]# ./bin/mysqladmin -p shutdown Enter password: [root@localhost mysql]# mysqld daemon ended
[1]+ Done ./bin/safe_mysqld --language=korean [root@localhost mysql]# |
ÀÌ»óÀ¸·Î ¼Ò½º¹èÆ÷º»ÀÇ ÄÄÆÄÀÏ ÀÛ¾÷Àº ¸ðµÎ ³¡³µ´Ù. µÞºÎºÐ¿¡¼ MySQL¿¡ ´ëÇØ ´õ¿í ÀÚ¼¼È÷ ´Ù·ê °ÍÀÌ´Ù.