Mariadb 설치 - Stack 작성 및 실행
MySQL 과 같이 세계에서 가장 많이 사용되는 데이터베이스 관리 시스템이라고 합니다.
MySQL과 동일한 소스 코드를 사용하기 때문에 높은 호환성을 유지한다고 하네요.
Nextcloud와 Wordpress를 사용하기 위해 기본 설치하여야 됩니다.
여러 Container를 하나의 Stack으로 작성해도 되지만,
Container를 개별로 설치하여 Network를 통해 연결하도록 하겠습니다.
Mariadb 설치 순서
(Portainer 사용 방법 참고)
Mariadb를 Portainer의 Stack을 작성하여 설치합니다.
(docker-compose.yml 으로 작성하는 내용과 동일합니다.)
NAS PC의 Ubuntu 환경에서 docker-compose.yml을 작성하여 실행하면
Portainer의 Stacks에서 관리하지 못하니, 꼭 Portainer Stacks에서 작성하여 실행하세요.
1. Portainer의 Stacks에서 Name을 mariadb로 입력합니다.
Name은 작성된 Stack을 구분하기 위한 것으로 변경하셔도 됩니다.
2. Stack 내용을 작성합니다.
version: '3.3'
services:
mariadb:
image: mariadb:latest
container_name : mariadb
restart: always
volumes:
- /data_set/mariadb/db:/var/lib/mysql
- /data_set/mariadb/conf.d:/etc/mysql/conf.d
ports:
- 3306:3306
environment:
- MARIADB_ROOT_PASSWORD=비밀번호
주황색 영역은 환경에 따라 변경하시며 되겠습니다.
1) volumes의 설정을 살펴보면,
' : ' 를 기준으로 앞의 directory 경로가 Ubuntu 에 설정된 directory 이고,
뒤에 있는 경로가 Mariadb Docker Container 내에 있는 고정 directory 경로입니다.
Ubuntu 에서 directory를 생성할 필요없이 실행되면서 자동으로 생성됩니다.
2) ports는 앞이 Container 외부포트이고, 뒤가 내부포트입니다.
외부포트는 원하는 포트 번호로 변경하셔도 됩니다. (예, 8806)
3) environment는 환경설정으로 Mariadb에 접속하기 위한 비밀번호를 입력해 줍니다.
Mariadb의 경우 초기비밀번호 환경설정이 필수이기 때문에 반드시 입력하셔야 합니다.
3. Deploy the stack을 클릭하여 실행합니다.
실행하게 되면 running으로 표시되는 Mariadb Container를 확인하실 수 있습니다.
상단의 Editor를 클릭하게 되면 Stack 내용을 수정하여 재 실행할 수 있습니다.
4. Mariadb Container 내부에 접속합니다.
설치가 완료되면 설정하나를 바꿔주어야 합니다.
Portainer에서 Container 내부의 내용을 변경할 때 접속하는 방법으로 진행하도록 합니다.
Portainer의 왼쪽 항목에서 Containers를 클릭하고
Containers 목록에서 빨간색으로 표시된 Exec Console를 클릭합니다.
5. Container 내부에 접속할 수 있는 환경이 표시됩니다.
Command, User의 설정을 변경하지 않고 Connet 하도록합니다.
6. Mariadb Container에 접속하고 db 내부에 접속합니다.
명령어를 실행하고, Stack 작성 시 입력하였던 초기 비밀번호를 입력합니다.
mariadb -u root -p
비밀번호
7. 설정 변경이 필요한 내용을 입력합니다.
SET GLOBAL innodb_read_only_compressed=OFF;
8. db 및 Mariadb Container에서 명령어를 입력하여 빠져나옵니다.
exit
두 번 실행하면 됩니다.
Mariadb Container 설치가 완료되었습니다.
'SET GLOBAL innodb_read_only_compressed=OFF;' 설정의 경우
Nextcloud 설치 후 오류가 발생하여 변경하였던 설정을 미리 반영한 내용입니다.