[MySQL] CREATE DATABASE로 DB 생성 시 CHARACTER SET 지정하기

hwwwa·2023년 9월 5일
0

DB 생성 시 CHARACTER SET 지정하기

DB 생성 시 CHARACTER SET을 지정하지 않으면 MySQL에 기본 설정된 대로 (현재 장비에서는 utf8mb4) 생성되지만, 혹시나 기본 설정이 다른 경우가 있을 수 있으므로 명시적으로 utf8mb4 로 지정 권장

테스트 환경

  • CentOS 7
  • MySQL 8.0.23

MySQL 상태정보 확인하기

MySQL 상태정보를 확인하려면 \s 또는 status 명령어를 사용

[2023-9-04 15:24:30][(none)]> \s
--------------
/home1/irteam/db/mysql/bin/mysql  Ver 8.0.23 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:		247435
Current database:
Current user:		admin@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.23 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/home1/irteam/db/mysql/tmp/mysql.sock
Binary data as:		Hexadecimal
Uptime:			11 days 17 hours 59 min 58 sec

Threads: 5  Questions: 1242494  Slow queries: 0  Opens: 198  Flush tables: 3  Open tables: 117  Queries per second avg: 1.223
--------------

해당 장비의 MySQL에는 기본 설정으로 utf8mb4 이 사용되도록 설정된 것을 볼 수 있음

디스크 용량 확인

DB 생성 전 사용 가능한 디스크 공간이 충분한 지 확인 필요

MySQL이 설치된 위치의 디스크 용량을 확인

$ df -h ~
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       296G   24G  273G   8% /

Use 8%, Avail 273G → 충분!

Test DB 생성

[2023-9-04 16:37:37][(none)]> CREATE DATABASE create_db_test DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
[2023-9-04 16:38:17][(none)]> show create database create_db_test\G
*************************** 1. row ***************************
       Database: create_db_test
Create Database: CREATE DATABASE `create_db_test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */
1 row in set (0.00 sec)

[2023-9-04 16:39:36][(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| create_db_test     |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

Test DB 삭제

[2023-9-04 16:40:01][(none)]> DROP DATABASE create_db_test;
Query OK, 0 rows affected (0.00 sec)

[2023-9-04 16:40:34][(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

0개의 댓글