๐พ[Database] MySQL DB์ ํ๊ธ ์ฝ์ .
- ํ๊ธ์ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฝ์
ํ๋ ค๊ณ ํ ๋ ๋ฐ์ํ๋ ์ค๋ฅ๋ ์ฃผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ
์ด๋ธ ๋๋ ์ด์ ๋ฌธ์ ์ธํธ์ ๊ด๋ จ ์์ต๋๋ค.
- ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ฌธ์ ์ธํธ๋ฅผ UTF-8๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
๐โโ๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ฌธ์ ์ธํธ๋ฅผ UTF-8๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ.
1๏ธโฃ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ์ ๋ฌธ์ ์ธํธ ์ค์ .
CREATE DATABASE {๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2๏ธโฃ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌธ์ ์ธํธ ๋ณ๊ฒฝ.
ALTER DATABASE {๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3๏ธโฃ ํ ์ด๋ธ ์์ฑ ์ ๋ฌธ์ ์ธํธ ์ค์ .
CREATE TABLE test (
id INT AUTO_INCREMENT PRIMARY KEY,
content TEXT
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
4๏ธโฃ ๊ธฐ์กด ํ ์ด๋ธ์ ๋ฌธ์ ์ธํธ ๋ณ๊ฒฝ.
ALTER TABLE test CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
5๏ธโฃ ๊ฐ ์ด์ ๋ฌธ์ ์ธํธ ํ์ธ ๋ฐ ๋ณ๊ฒฝ.
ALTER TABLE test MODIFY content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
6๏ธโฃ MySQL ์๋ฒ์ ๊ธฐ๋ณธ ๋ฌธ์ ์ธํธ๋ฅผ ๋ณ๊ฒฝ.
- my.cnf(๋๋ my.ini) ํ์ผ์ ์์ ํ์ฌ ๊ธฐ๋ณธ ๋ฌธ์ ์ธํธ๋ฅผ utf8mb4๋ก ์ค์ ํฉ๋๋ค.
- ๋ณดํต ์ด ํ์ผ์
/etc/my.cnf
๋๋/etc/mysql/my.cnf
์ ์์นํด ์์ต๋๋ค.
- ๋ณดํต ์ด ํ์ผ์
- my.cnf ํ์ผ์ ๋ค์ ๋ด์ฉ์ ์ถ๊ฐํฉ๋๋ค.
```ini
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
### 7๏ธโฃ MySQL ์๋ฒ ์ฌ์์.
```shell
sudo systemctl restart mysqld
- ์ด์ ํ๊ธ์ ํฌํจํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฝ์
ํ ์ ์์ ๊ฒ์
๋๋ค.
- ์๋ฅผ ๋ค์ด, ํ๊ธ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ๋ ค๋ฉด:
INSERT INTO test (content) VALUES ('ํ ์คํธ ๋ฐ์ดํฐ');
- ์๋ฅผ ๋ค์ด, ํ๊ธ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ๋ ค๋ฉด:
- ์ด ๋ฐฉ๋ฒ์ผ๋ก UTF-8 ์ค์ ์ ์ ์ฉํ๋ฉด ํ๊ธ ๋ฐ์ดํฐ๋ฅผ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌธ์ ์์ด ์ ์ฅํ ์ ์์ต๋๋ค.