https://hub.docker.com/_/mariadb

Docker - mariadb 설정

  • mariadb 설치
  • 볼륨 마운트
    • 저장소 및 설정 폴더
  • utf-8 설정

DB 설정 폴더 local로 복사

  • 설정 파일 폴더 복사 용도
docker container run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=pwd1234 \
--name mariadb.10.5.8 mariadb:10.5.8

// 볼륨 폴더 생성
// windows + ubuntu 등 멀티 부팅에서 함께 사용하는 공유 드라이브 경우 권한 변경이 되지 않음
// 로컬/docker-volume/mariadb
mkdir -p /home/r/docker-volume/mariadb/

// 컨터에이의 conf.d 폴더 -> local 로 복사
docker cp mariadb.10.5.8:/etc/mysql/conf.d /home/r/docker-volume/mariadb/conf.d

// 생성된 mariadb  컨테이너 중지 후 삭제
docker stop mariadb.10.5.8
docker rm mariadb.10.5.8

custom.cnf 수정 - utf-8 설정

// 위치 변경
cd /home/r/docker-volume/mariadb/conf.d

// 설정파일 생성 및 편집
vi custom.cnf

// windows 10 + wsl2 환경일 경우 권한 변경
chmod 444 *
# - file : custom.cnf
[mysqld]
skip-character-set-client-handshake
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqldump]
default-character-set = utf8

컨테이너 실행

utf-8이 설정된 파일과 db가 저장될 볼륨을 적용하여 컨테이너 실행

db 저장소 볼륨 폴더 생성

mkdir -p /home/r/docker-volume/mariadb/store
  • local에서 작업한 설정파일이 있는 폴더를 컨테이너에 마운트
    • /home/r/docker-volume/mariadb/conf.d -> /etc/mysql/conf.d
  • local에서 생성한 db 저장 위치를 컨테이너에 마운트
    • /home/r/docker-volume/mariadb/store -> /var/lib/mysql
docker container run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=pwd1234 \
-v /home/r/docker-volume/mariadb/conf.d:/etc/mysql/conf.d \
-v /home/r/docker-volume/mariadb/store:/var/lib/mysql \
--name mariadb.10.5.8 mariadb:10.5.8

인코딩 적용 확인

// mariadb.10.5.8 컨테이너 접속
docker exec -it mariadb.10.5.8 bash

// db 접속
mysql -uroot -ppwd1234


// UTF-8 적용 전
show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

// UTF-8 적용 후
show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

기타

// windows 10 + wsl2 + ubuntu 환경에서 wsl 종료
wsl --shutdown

'linux' 카테고리의 다른 글

[centos] ssh- 패스워드 사용하여 로그인  (0) 2021.02.16
[Ubuntu] Docker 설치  (0) 2019.05.30
[Ubuntu] MSI GF63 8RC Windows/Ubuntu Install  (0) 2019.05.30
[Ubuntu] 우분투 설치 프로그램들  (0) 2019.05.29
[Git] Git / Ubuntu 설치  (0) 2019.05.29

+ Recent posts