MySQL5.6 character-set 변경

MySQL를 설치하면 latin으로 되어 있어 utf-8로 변경하고자 한다면 /etc/my.cnf 파일 아래와 같이 수정하고 데몬을 다시 구동하면 된다.

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysql]
default-character-set = utf8

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set = utf8

CentOS7 MySQL5.6(5.7) 설치 (yum)

RHEL7 / CentOS 7 기준

MySQL 5.7
~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

MySQL 5.6
~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

RHEL6 / CentOS6 기준

MySQL 5.7
~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm

MySQL 5.6
~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

OS와 버전에 맞춰 등록되었다면 yum을 통해 설치할 준비가 완료된 상태이다. 바로 설치해도 되지만 어떤 패키지가 있는지 확인 하도록 하자.

yum search mysql-community 를 통해 검색된 패키지 목록

이제 yum을 통해 mysql를 설치 후, 데몬을 구동하고 초기 root 비밀번호를 설정하면 된다.

~]# yum install mysql-community-server
~]# systemctl start mysqld
~]# mysql_secure_installation

CenOS는 초기 root 암호가 /root/.mysql_secret에 저장되는 경우가 있으니, 참고하기 바란다. ( grep ‘password’ /var/log/mysqld.log 를 통해 암호 확인 가능 )