mysql에 접속하기 : sudo mysql -u root -p pass
나머지 sql 문은 평상시대로~!!
-----기본 설정들-----------
나머지 sql 문은 평상시대로~!!
-----기본 설정들-----------
언어셋을 따로 설정하지 않고 DB를 생성하게 되면 latin1로 설정된다.
이 경우 게시판등에 한글이 출력될때는 문제가 없을수도 있으나 DB 자료 자체를 출력해보면 ??? 와 같은 문자로 출력된다.
$ sudo vi /etc/mysql/my.cnf
[client]
default-character-set = utf8
[mysqld]
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
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
MySQL 재시작
$ sudo service mysql restart
확인
$ mysql -uroot -p
mysql> status
Server characterset: utf8
Db characterset: utf8
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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
이 값에 의해 쿼리문등으로 전송량이 결정된다.
기본값이 16M인데 이 값이 작아 오류를 내기도 한다.
$ sudo vi /etc/mysql/my.cnf
[mysqld]
max_allowed_packet = 256M
MySQL 재시작
$ sudo service mysql restart
댓글
댓글 쓰기