°­ÁÂ

HOME > °­ÁÂ >
°­ÁÂ| ¸®´ª½º ¹× ¿ÀǼҽº¿¡ °ü·ÃµÈ °­Á¸¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
 
MySQL 5.5ÀÇ »õ·Î¿öÁø °Íµé
Á¶È¸ : 23,606  



MySQL 5.5ÀÇ »õ·Î¿öÁø °Íµé


ÇÁ·Î±×·¥¸í : MySQL 5.5.X
¿î¿µÃ¼Á¦ : Linux, Unix, Windows µî
ȨÆäÀÌÁö : www.mysql.com
¶óÀ̼¾½º : »ó¾÷¿ë, GPL


   ÃÖ±Ù MySQL 5.5 ¹öÁ¯ÀÌ Á¤½Ä ¸±¸®Áî µÇ¾ú°í, Áö±Ý ³»°¡ Á¶»çÇϰí ÀÖ´Â ¹öÀüÀº 5.5.14ÀÌ´Ù. mysqlÀÇ ab»ç°¡ sun»ç¿¡ ÀμöµÇ°í, ´Ù½Ã sun»ç°¡ Oracle »ç¿¡ ÀμöµÇ¾ú´Ù.
±×·³ ÀÌ mysqlµµ Oracle¸¸Å­ °­ÇØÁú±î? 5.5 ¸®ºä¸¦ Çϸ鼭 ´À³¤ °ÍÀº ±â´ÉÀÌ ¸·°­ÇØ Áö¸é¼­ ¹«°Å¿ö Á³´Ù´Â ´À³¦À» ¹Þ¾Ò°í, mysqlÀÇ ¹öÀüÀÌ ¾÷µÇ¸é¼­ ÇÏÀ§ ȣȯÀ» À§ÇØ
³²°ÜµÎ¾ú´ø ¼³Á¤º¯¼öµéÀ» ¸¹ÀÌ Á¤¸®ÇÏ´Â µíÇß´Ù. ƯÈ÷ mysql ¼³Ä¡ ¹æ½ÄÀ» cmake¸¦ µµÀÔÇß°í, ¼³Ä¡ ÈÄ¿¡´Â ±âÁ¸°ú ´Ù¸£°Ô ¶óÀ̺귯¸® µð·ºÅ丮, my.cnf ¿¹Á¦ ÆÄÀÏ,
mysql_install_db ÆÄÀϵîÀÇ °æ·Î°¡ ¹Ù²î¾ú´Ù.  ¾î¶² ±â´ÉµéÀÌ Ãß°¡ µÇ°í °³¼±µÇ¾ú´ÂÁö, mysql °ø½Ä ȨÆäÀÌÁö¿¡¼­  ¹ßÇ¥ÇÑ ³»¿ëÀ» Çѱ۷ΠÆí¿ªÇØ º¸µµ·Ï ÇϰڴÙ.



1. ¸ÖƼÄÚ¾î CPU¿¡ ´ëÇÑ È®À强ÀÌ Çâ»óµÇ¾ú´Ù.
     CPU ¼Óµµ(Ŭ·°)À» ³ôÀ̴µ¥´Â ¹°¸®ÀûÀÎ ÇѰ谡 ÀÖ´Ù. ±×·¡¼­ ¿äÁò CPU´Â Core¸¦ ´Ã·Á ¼º´ÉÀ» Çâ»ó½ÃŲ´Ù.
   mysql 5.5´Â ¸ÖƼÄÚ¾î cpu¸¦ Àß~ Ȱ¿ëÇÒ ¼ö ÀÖ°Ô Çâ»óµÇ¾ú´Ù°í ÇÑ´Ù.
   ÀÌ´Â InnoDBÀÇ locking °ú ¸Þ¸ð¸® °ü¸®¿¡ º¯È­¸¦ ÁذÍÀÌ´Ù.

   - InnoDB¿¡¼­´Â È®À强ÀÌ ÀûÀº mutexe¸¦ »ç¿ëÇϱ⠺¸´Ù´Â ¿øÀÚÀûÀÎ CPU ¸í·ÉÀ» »ç¿ëÇÑ  RW-lock »ç¿ëÇÏ¿© ¼º´ÉÀ» Çâ»ó½ÃÄ×´Ù.
   - ¸Þ¸ð¸® °ü¸® ºÎºÐÀº ÀϹÝÀûÀÎ malloc ¶óÀ̺귯¸® º¸´Ù Çâ»óµÈ tcmalloc(¸®´ª½º), mtalloc(¼Ö¶ó¸®½º)¸¦ »ç¿ëÇß´Ù.



2. InnoDB I/O ¼­ºê½Ã½ºÅÛÀÌ ¹Ù²î¾ú´Ù.
   InnoDB I/O ¼­ºê½Ã½ºÅÛÀÌ »ç¿ë°¡´ÉÇÑ I/O ¿ë·®À» È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô ¹Ù²î¾ú´Ù.
   -  Background I/O Thread Çâ»ó
    1°³ÀÇ Thread°¡ read, write ¸¦ ´ã´çÇßÀ¸³ª, ÀÌÁ¦ read¿Í write¿¡ ´ÙÁß ¾²·¹µå¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´Ù.
       innodb_read_io_threads : Àб⠾²·¹µå °¹¼ö ±âº» 4°³
       innodb_write_io_threads : ¾²±â ¾²·¹µå °¹¼ö ±âº» 4°³

    - I/O Rate¸¦ Á¶Á¤ÇÒ¼ö ÀÖ´Ù.
      ¿¹Àü ¹öÀüÀº ±âº»ÀûÀ¸·Î IOPS(the number of Input/Output operations Per Second)°¡ 100ÀÌ¿´Áö¸¸,
     Áö±ÝÀº ±âº»ÀÌ 200À̸ç ÀÌ °ªÀ» ´ÙÀ½ º¯¼ö·Î Á¦¾îÇÒ ¼ö ÀÖ´Ù.
       innodb_io_capacity : IOPS °ª (±âº» 200,  Disk°¡ 7200RPM ÀÌÇ϶ó¸é 100À¸·Î ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù.)



3. Áø´Ü°ú ¸ð´ÏÅ͸µ ±â´ÉÀÌ ÁÁ¾ÆÁ³´Ù.
   - Performance Schema
      MySQL ¼­¹ö ½ÇÇà»óŸ¦ low ·¹º§¿¡¼­ È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.
      MySQL µ¥ÀÌÅÍ µð·ºÅ丮¸¦ º¸¸é  performance_schema DB°¡ ±âº»ÀûÀ¸·Î ¼³Ä¡µÈ´Ù. ÀÌ Å×À̺íÀ» ÀÌ¿ëÇÑ´Ù°í Çϸç ÀÚ¼¼ÇÑ °ÍÀº mysql ¸Þ´º¾óÀ» Âü°íÇϱ⠹ٶõ´Ù.

   - DTrace Áö¿ø
      ÀÌ´Â Solaris, Mac OS X, FreeBSD ¿¡¼­ »ç¿ëµÇ´Â °ÍÀ̶ó´Ï skip ÇÑ´Ù.

   - SHOW ENGINE INNODB STATUS ÀÇ °á°ú°¡ ´õ ÀÚ¼¼ÇØ Á³´Ù.

   - Debug Sync : µð¹ö±×¸¦ À§ÇÑ µ¿±âÈ­ Æ÷ÀÎÆ®¸¦Á¦°øÇÑ´Ù.
  
   - »õ·Î¿î »óÅ º¯¼ö Á¦°ø
      Innodb_have_atomic_builtins : innodbÀÇ »ç¿ë°¡´ÉÇÑ atomic instructionÀÇ »óŸ¦ º¸¿©ÁØ´Ù.(On/Off)



4. Solaris ¿¡¼­  MySQL Server¸¦ ¿î¿µÇÔ¿¡ ÀÖ¾î ¿©·¯ ¸í·É¾î°¡ º¯°æ ¹× Çâ»óµÇ¾ú´Ù.
    ³­ Solaris¸¦ °ÅÀÇ »ç¿ëÇÏÁö ¾Ê±â¿¡ skip


5. ±âº» storage engine °¡ MyISAM ¿¡¼­ InnoDB·Î ¹Ù²î¾ú´Ù.



6. Semisynchronous Replication Áö¿ø
   -  MySQLÀÇ ReplicationÀº ±âº»ÀûÀ¸·Î ºñµ¿±â½ÄÀÌÁö¸¸, Semiºñµ¿±â½Ä ¸®Çø®ÄÉÀ̼ÇÀ» Á¦°øÇÑ´Ù.
      Semiºñµ¿±â½ÄÀ̶õ MasterÀÇ blocksÀ»  SlaveÀÇ ÀÀ´äÀ» ¹ÞÀº ÈÄ Ã³¸®ÇÑ´Ù.
   - ±âº»Àº ¾Æ´Ï°í PLUGINÀ¸·Î ¼³Ä¡ÇØ¾ß ÇÑ´Ù.
      INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
      INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';


7. »õ·Î¿î À¯´ÏÄÚµå ¾ð¾î¼ÂÀ» Áö¿øÇÑ´Ù.
   utf16, utf32, utf8mb4


8. Å×ÀÌºí ÆÄÆ¼¼Å´×ÀÇ Çâ»ó
   - 2°¡ÁöÀÇ »õ·Î¿î »ç¿ëÀÚ Á¤ÀÇ Å×ÀÌºí ÆÄÆ¼¼Å´×À» Á¦°øÇÑ´Ù.
     RANGE COLUMNS ÆÄƼ¼Å´× ,  LIST COLUMNS ÆÄƼ¼Å´×À» Á¦°øÇÑ´Ù.
     ¿¹) RANGE COLUMNS ÆÄƼ¼Å´×
         PARTITION BY RANGE (store_id) (
            PARTITION p0 VALUES LESS THAN (6),
            PARTITION p1 VALUES LESS THAN (11)
         );
 

     ¿¹) LIST COLUMNS ÆÄƼ¼Å´×
        PARTITION BY LIST(store_id) (
            PARTITION pNorth VALUES IN (3,5,6,9,17),
            PARTITION pEast VALUES IN (1,2,10,11,19,20)
        );

 


9. Ç¥ÁØ SQLÀÇ SIGNAL°ú RESIGNAL ±¸¹® Á¦°ø
   ¿À·ù Çڵ鸵À» À§ÇØ Á¦°øÇÑ´Ù.



10. LOAD XML INFILE ±¸¹®ÀÌ Ãß°¡ µÇ¾ú´Ù.




11. MySQLÀÎÁõ¹æ½Ä¿¡¼­ pluggable authentication °ú proxy user ÀÎÁõÀÌ Ãß°¡ µÇ¾ú´Ù.
    pluggable ÀÎÁõÀ¸·Î  LDAP, Kerberos, PAM, or Windows login ID µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.



12. ¼Ò½º ¼³Ä¡ ÇÏ´Â ¹æ¹ýÀÌ ¹Ù²î¾ú´Ù.
    GNU autotools ´ë½Å CMake¸¦ »ç¿ëÇÑ´Ù. ¼³Ä¡¹ýÀº ´ÙÀ½°ú °°´Ù. ( cmake´Â ¹Ì¸® ¼³Ä¡ÇØ¾ß ÇÑ´Ù)

        cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
        -DDEFAULT_CHARSET=utf8 \
        -DDEFAULT_COLLATION=utf8_general_ci \
        -DENABLED_LOCAL_INFILE=1 \
        -DWITH_SSL=system \
        -DMYSQL_DATADIR=/usr/local/mysql/data \
        -DWITH_READLINE=ON

        make -j 4
        make install

    * CMake ¸¦ »ç¿ëÇÏ¸é ¾Æ·¡¿Í °°ÀÌ ÄÄÆÄÀÏ °úÁ¤¿¡ ÁøÇà·ü°ú º¸±âÁÁ°Ô Ä÷¯·Î ³ª¿Â´Ù.
    





13. Á¦°ÅµÈ ³»¿ëµé
    1) language ½Ã½ºÅÛ º¯¼ö Á¦°Å (lc_messages_dir¿Í lc_messages¸¦ »ç¿ë)
    2) log_bin_trust_routine_creators ½Ã½ºÅÛ º¯¼ö Á¦°Å  (log_bin_trust_function_creators »ç¿ë)
    3) myisam_max_extra_sort_file_size ½Ã½ºÅÛ º¯¼ö Á¦°Å
    3) record_buffer ½Ã½ºÅÛ º¯¼ö Á¦°Å (read_buffer_size »ç¿ë).
    4) sql_log_update ½Ã½ºÅÛ º¯¼ö Á¦°Å.
    5) Innodb_buffer_pool_read_ahead_rnd¿Í Innodb_buffer_pool_read_ahead_seq »óÅ º¯¼ö Á¦°Å
         (Innodb_buffer_pool_read_ahead¿Í Innodb_buffer_pool_read_ahead_evicted »ç¿ë).
    6) table_type ½Ã½ºÅÛ º¯¼ö Á¦°Å(storage_engine »ç¿ë).
    7) TIMESTAMPADD() ÇÔ¼ö¸¦ À§ÇÑ FRAC_SECOND ¼öÁ¤ÀÚ Á¦°Å (MICROSECOND »ç¿ë)
    8) CREATE TABLE À̳ª  ALTER TABLE½Ã  TYPE Å×ÀÌºí ¿É¼Ç Á¦°Å( ENGINE »ç¿ë).
    9) SHOW TABLE TYPES ±¸¹® Á¦°Å (SHOW ENGINES »ç¿ë).
    10) SHOW INNODB STATUS ¿Í SHOW MUTEX STATUS ±¸¹® Á¦°Å ( SHOW ENGINE INNODB STATUS,  SHOW ENGINE INNODB MUTEX »ç¿ë).
    11) SHOW PLUGIN ±¸¹® Á¦°Å  (SHOW PLUGINS »ç¿ë).
    12) LOAD TABLE ... FROM MASTER ¿Í LOAD DATA FROM MASTER ±¸¹® Á¦°Å (mysqldump, mysqlhotcopy»ç¿ëÇÏ¿© ´ýÇÁ ¹× mysqlÀ» »ç¿ëÇÏ¿© reload ).
    13) BACKUP TABLE ¿Í RESTORE TABLE ±¸¹® Á¦°Å (mysqldump, mysqlhotcopy»ç¿ëÇÏ¿© ´ýÇÁ ¹× mysqlÀ» »ç¿ëÇÏ¿© reload ).
    14) TIMESTAMP(N) µ¥ÀÌÅÍ Å¸ÀÔ Á¦°Å ( N ¾øÀÌ »ç¿ë Ç϶ó)
    15) --default-character-set °ú --default-collation ¼­¹ö ¿É¼Ç Á¦°Å (--character-set-server °ú --collation-server »ç¿ë).
    16) --default-table-type ¼­¹ö ¿É¼Ç Á¦°Å (--default-storage-engine »ç¿ë).
    17) --delay-key-write-for-all-tables ¼­¹ö ¿É¼Ç Á¦°Å (--delay-key-write=ALL »ç¿ë).
    18) --enable-locking°ú --skip-locking ¼­¹ö ¿É¼Ç Á¦°Å (--external-locking°ú --skip-external-locking »ç¿ë).
    19) --log-bin-trust-routine-creators ¼­¹ö ¿É¼Ç Á¦°Å (--log-bin-trust-function-creators »ç¿ë).
    20) --log-long-format ¼­¹ö ¿É¼Ç Á¦°Å
    21) --log-update ¼­¹ö ¿É¼Ç Á¦°Å
    22) --master-xxx ¼­¹ö ¿É¼Ç Á¦°Å (CHANGE MASTER TO ±¸¹® »ç¿ë):
         --master-host, --master-user, --master-password, --master-port, --master-connect-retry,
         --master-ssl, --master-ssl-ca, --master-ssl-capath, --master-ssl-cert, --master-ssl-cipher, --master-ssl-key.
    23) --safe-show-database ¼­¹ö ¿É¼Ç Á¦°Å
    24) --skip-symlink¿Í --use-symbolic-links ¼­¹ö ¿É¼Ç Á¦°Å (--skip-symbolic-links¿Í  --symbolic-links »ç¿ë).
    25) --sql-bin-update-same ¼­¹ö ¿É¼Ç Á¦°Å
    26) --warnings ¼­¹ö¿É¼Ç Á¦°Å (--log-warnings »ç¿ë).
    27) mysql¸í·É¾îÀÇ --no-named-commands ¿É¼Ç Á¦°Å (--skip-named-commands »ç¿ë).
    28) mysql¸í·É¾îÀÇ --no-pager ¿É¼Ç Á¦°Å(--skip-pager »ç¿ë).
    29) mysql¸í·É¾îÀÇ --no-tee ¿É¼Ç Á¦°Å (--skip-tee »ç¿ë).
    28) mysqlbinlog¸í·É¾îÀÇ --position ¿É¼Ç Á¦°Å (--start-position »ç¿ë).
    29) mysqldump¸í·É¾îÀÇ --all ¿É¼Ç Á¦°Å (--create-options »ç¿ë)
    30) mysqldump¸í·É¾îÀÇ --first-slave ¿É¼Ç Á¦°Å(--lock-all-tables »ç¿ë).
    31) mysqld_multi¸í·É¾îÀÇ --config-file ¿É¼Ç Á¦°Å(--defaults-extra-file »ç¿ë).
    32) --set-variable=var_name=value°ú -O var_name=value°ú °°ÀÌ ÀϹøÀûÀÎ ¸ñÀûÀÇ ÇÁ·Î±×·¥ º¯¼ö ¼³Á¤Àº Á¦°Å (--var_name=value »ç¿ë).
    33) configure¸¦ À§ÇÑ --with-pstack ¿É¼Ç Á¦°Å, mysqld¸¦ À§ÇÑ --enable-pstack ¿É¼Ç Á¦°Å



14. ±âŸ ¼Ò½º ¼³Ä¡ ÈÄ ´Þ¶ó Áø ³»¿ëµé ( doly°¡ Ãß°¡ÇÔ )
    1) mysql_install_db ÇÁ·Î±×·¥ÀÇ °æ·Î°¡ º¯°æµÇ¾ú´Ù.
        /usr/local/mysql/scripts ·Î ¹Ù²î¾ú´Ù.

    2) my.cnf ¼ÀÇà ¹× mysql.server ½ºÅ©¸³Æ®ÀÇ °æ·Î°¡ º¯°æµÇ¾ú´Ù.
        /usr/local/mysql/support-files

    3) Çì´õ ÆÄÀÏ ¹× ¶óÀ̺귯¸® µð·ºÅ丮°¡ º¯°æµÇ¾ú´Ù.
        /usr/local/mysql/lib
        /usr/local/mysql/include

    4) PHP ¿¬µ¿½Ã ¶óÀ̺귯¸® À§Ä¡ ¶§¹®¿¡ libmysqlclient.so.18 ÆÄÀÏÀ» ãÀ» ¼ö ¾ø´Ù°í ÇÑ´Ù.
        ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib ÀÌ·¸°Ô ¸µÅ©¸¦ °É¾î ÁÖ¸é ³¡³­´Ù.



Âü°íÀÚ·á : http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html

[¿ø±Û¸µÅ©] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1759


ÀÌ ±ÛÀ» Æ®À§ÅÍ·Î º¸³»±â ÀÌ ±ÛÀ» ÆäÀ̽ººÏÀ¸·Î º¸³»±â ÀÌ ±ÛÀ» ¹ÌÅõµ¥ÀÌ·Î º¸³»±â

 
µµ¸®
µµ¸®(Doly)
(ÁÖ)¼öÆÛÀ¯Àú ±â¼úÀÌ»ç (CTO)
¸®´ª½º¸¶½ºÅÍ 1±Þ,2±Þ Ãßõ±³Àç(2014³â) ÁýÇÊ
¸®´ª½º¸¶½ºÅÍ 1±Þ,2±Þ Àü¹®À§¿ø(ÃâÁ¦)(Çѱ¹Á¤º¸Åë½ÅÁøÈïÇùȸ, 2005³â~)
SULinux 1.0, 1.5, 2.0, 2014 °³¹ß ÃѰý(sulinux.net, 1998³â~)
SSU,LSCP,LSMP,CCMT¿Ü ´Ù¼ö ¿ÀǼҽº ÇÁ·ÎÁ§Æ® °³¹ß ¹× ¿î¿ë (lscp.sf.net¿Ü,2009³â~)
¸®´ª½º ´ë·® ½Ã½ºÅÛ ±¸Ãà ¹× °ü¸®(5,000´ë¸®´ª½º ¼­¹ö ±¸Ãà ¹× °ü¸® °æÇè, 2000³â~)

E-Mail : doly°ñ»±ÀÌsuperuser.co.kr
¼Ò°³ : ÇÏ·ç ÇÏ·ç ÃÖ¼±À» ´ÙÇսôÙ!!