ÃֽŠ°Ô½Ã±Û(DB)
2017.03.13 / 14:54

Mysql - mysql ¼³Ä¡ÈÄ Character set º¯°æ

¹Ù¹Ù¸®¾È
Ãßõ ¼ö 315

# mysql ±âº» ¼³Ä¡½Ã¿¡ ¿øÇϴ ij¸¯ÅͼÂÀÌ ¾Æ´Ñ ´Ù¸¥ °É·Î ¼³Á¤ÀÌ µÇ¾îÀÖÀ»°æ¿ì¿¡ º¯°æÇÕ´Ï´Ù.


# ÇöÀç ij¸¯Åͼ °Ë»ö
mysql>show variables like 'char%';

+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | latin1                           |
| character_set_connection | latin1                           |
| character_set_database   | latin1                            |
| character_set_filesystem | binary                           |
| character_set_results    | latin1                           |
| character_set_server     | latin1                            |
| character_set_system     | utf8                             |
| character_sets_dir       | /opt/mysql/mysql/share/charsets/ |
+--------------------------+----------------------------------+


mysql>status ¶Ç´Â \s
--------------
mysql  Ver 14.14 Distrib 5.1.42, for pc-solaris2.10 (i386) using readline 5.1

Connection id:          1
Current database:       
Current user:           °èÁ¤¸í@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.42 ¸íySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 12 sec

Threads: 1  Questions: 6  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.500
--------------


# µ¥ÀÌŸ º£À̽º »ý¼º : utf8 ŸÀÔ
CREATE DATABASE µ¥ÀÌÅͺ£À̽º¸í DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# µ¥ÀÌŸ º£À̽º »ý¼º : euckr ŸÀÔ
CREATE DATABASE µ¥ÀÌÅͺ£À̽º¸í DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci;

# µ¥ÀÌŸ º£À̽º »ý¼ºÈÄ ¿ÜºÎ Á¢¼ÓÇϱâ À§Çؼ­ IP¸¦ Ãß°¡ ÇØÁÝ´Ï´Ù.
GRANT ALL PRIVILEGES ON µ¥ÀÌŸº£À̽º¸í.* TO '°èÁ¤¸í'@'192.168.1.100' IDENTIFIED BY 'ºñ¹Ð¹øÈ£' WITH GRANT OPTION;


## °¢°¢ÀÇ Ä³¸¯ÅÍ ¼ÂÀ» º¯°æ - ÀÌ º¯°æ ¹æ¹ýÀº mysql µ¥¸óÀÌ Àç½ÇÇà µÉ°æ¿ì¿¡ ÃʱâÈ­ µÊ.
mysql> SET character_set_client = utf8;
mysql> SET character_set_results = utf8;
mysql> SET character_set_connection = utf8;
mysql> ALTER DATABASE DB¸í DEFAULT CHARACTER SET utf8;
commit;


## /etc/my.cnf ÆÄÀÏ¿¡ ¼³Á¤ - ÀÌ ¼³Á¤ ¹æ¹ýÀ» Ãßõ mysql µ¥¸óÀÌ Àç½ÇÇà µÇ¾îµµ ¼³Á¤À» À¯Áö ÇÕ´Ï´Ù.

mysql>vi /etc/my.cnf

################# utf8 ¼³Á¤ #################
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock

default-character-set=utf8

[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

port            = 3306
socket          = /tmp/mysql.sock
basedir       = /opt/mysql/mysql
datadir        = /opt/mysql/mysql/data

set-variable    = table_cache=1024
set-variable    = max_connections=500
set-variable    = max_user_connections=100
set-variable    = max_connect_errors=10000

log-slow-queries
set-variable    = long_query_time=3
skip-name-resolve

# InnoDB »ç¿ë ¾ÈÇҽà ¾Æ·¡ ³»¿ëÃß°¡
#skip-innodb
sync_binlog = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
default-character-set=utf8

################# utf8 ¼³Á¤ÈÄ È®ÀÎ #################

mysql> \s   
--------------
mysql  Ver 14.14 Distrib 5.1.42, for pc-solaris2.10 (i386) using readline 5.1

Connection id:          4
Current database:       
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.42-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /tmp/mysql.sock
Uptime:                 19 min 31 sec

Threads: 2  Questions: 33  Slow queries: 1  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.28


mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | utf8                             |
| character_set_server     | utf8                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /opt/mysql/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.99 sec)


################# euckr ¼³Á¤ #################

[client]
default-character-set=euckr

[mysqld]
default-character-set=euckr
init_connect=SET collation_connection=euckr_korean_ci
init_connect=SET NAMES euckr
character-set-server=euckr
collation-server=euckr_korean_ci

port            = 3306
socket          = /tmp/mysql.sock
basedir       = /opt/mysql/mysql
datadir        = /opt/mysql/mysql/data

set-variable    = table_cache=1024
set-variable    = max_connections=500
set-variable    = max_user_connections=100
set-variable    = max_connect_errors=10000

log-slow-queries
set-variable    = long_query_time=3
skip-name-resolve

# InnoDB »ç¿ë ¾ÈÇҽà ¾Æ·¡ ³»¿ëÃß°¡
#skip-innodb
sync_binlog = 1

[mysqldump]
default-character-set=euckr

[mysql]
default-character-set=euckr 

¡Ø À§ ³»¿ëÀº, ¿©·¯ ÀڷḦ Âü°íÇϰųª Á¦°¡ ÁÖ°üÀûÀ¸·Î Á¤¸®ÇÑ °ÍÀÔ´Ï´Ù.
   À߸øµÈ Á¤º¸³ª º¸¿ÏÀÌ ÇÊ¿äÇÑ ºÎºÐÀ», ´ñ±Û ¶Ç´Â ¸ÞÀÏ·Î º¸³»ÁÖ½Ã¸é ¸¹Àº µµ¿òÀÌ µÇ°Ú½À´Ï´Ù.