Linux/mariaDB

[MariaDB] Character Set UTF8 변경

가온마루2497 2023. 6. 13. 15:53

MariaDB의 기본 Character Set은 latin1이다.

이를 보편적으로 사용하는 utf8로 변경하는 방법이다.

 

1. 기본 Character Set 확인하기

MariaDB[none]> show variables like 'c%';

실행 후 아래와 같이 나타난다.

+----------------------------------+----------------------------+
| Variable_name                    | Value                      |
+----------------------------------+----------------------------+
| character_set_client             | utf8                       |
| character_set_connection         | utf8                       |
| character_set_database           | latin1                     |
| character_set_filesystem         | binary                     |
| character_set_results            | utf8                       |
| character_set_server             | latin1                     |
| character_set_system             | utf8                       |
| character_sets_dir               | /usr/share/mysql/charsets/ |
| check_constraint_checks          | ON                         |
| collation_connection             | utf8_general_ci            |
| collation_database               | latin1_swedish_ci          |
| collation_server                 | latin1_swedish_ci          |
| column_compression_threshold     | 100                        |
| column_compression_zlib_level    | 6                          |
| column_compression_zlib_strategy | DEFAULT_STRATEGY           |
| column_compression_zlib_wrap     | OFF                        |
| completion_type                  | NO_CHAIN                   |
| concurrent_insert                | AUTO                       |
| connect_timeout                  | 10                         |
| core_file                        | OFF                        |
+----------------------------------+----------------------------+
20 rows in set (0.000 sec)

 

2. UTF8로 설정하기

아래 3개의 파일에 Character Set 설정을 추가한다.

(client.cnf는 없을 수 있으며, 이 경우 직접 생성하면 된다.)

 

파일 경로는 아래 경로로 진입하면 있다.

/etc/my.cnf.d/

 - /etc/my.cnf.d/client.cnf

[client]
default-character-set=utf8

 - /etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

 - /etc/my.cnf.d/server.cnf

[mysqld]
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

 

3. MariaDB 재시작하기

systemctl restart mariadb

 

참고로 Character Set 변경 전에 Database가 생성되었다면, 재생성하거나 ALTER 명령어로 변경해주어야 한다.

ALTER DATABASE `데이터베이스명`
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;