도커 이미지 다운로드
docker pull mariadb
컨테이너 실행
3306 port로 설정해 실행합니다.
docker container run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mariadb mariadb
docker 볼륨을 /Users/Shared/data/mariadb로 설정합니다.
docker container run -d -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=1234 \ -v /Users/Shared/happy/mariadb:/var/lib/mysql \ --name mariadb mariadb
-v는 Bind mount a volume와 관련한 옵션입니다. 형식은 다음과 같습니다.
맥 OS에서 /Users/Shared 는 공용 폴더이므로 /Users/Shared/happy/mariadb 디렉터리로 설정하였습니다.
그리고 --name 옵션은 컨테이너 실행시 컨네이너 실행시 컨테이너 이름을 부여하기 위한 용도입니다.
이어서 컨테이너가 정상적으로 실행 됐는지 확인합니다.
docker container ls -a
이때 -s옵션을 붙여주면 컨테이너에서 사용량을 확인할 수 있습니다.
docker container ls -as
docker exec -i -t mariadb bash
mysql -uroot -p1234
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)
apt-get update
apt-get install vim
vi /etc/mysql/my.cnf
character-set-client-handshake = FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
위 옵션 중에서 character-set-client-handshake의 값이 FALSE이면 클라이언트 문자셋을 무시하고 서버 문자셋을 사용한다는 의미입니다.
docker stop mariadb
docker start mariadb
mariaDB 로그 보기
$ docker logs -f --tail=10 mariadb
2020-02-29 22:13:47 0 [Note] InnoDB: 10.4.12 started; log sequence number 60990; transaction id 21