[ubuntu] 에서 mysql 사용하기!

mysql에 접속하기 : sudo mysql -u root -p pass

나머지 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

댓글