반응형
이 글은 이미 실행되고 있는 컨테이너 내에 mariadb를 설치 하는 방법이다.
mariadb image를 이용하여 install 하는 방법은 아래 글을 참고하자.
https://24hours-beginner.tistory.com/282
※ 주의사항 ※
- 외부 접속 포트 : 내부에서 사용하는게 아니라 외부에서 접속이 필요한 경우 run 당시에 포트를 뚫어놓은게 아니라면 접속이 불가능할 수 있다.
- 중복 포트 : 예를들어 네트워크를 --net=host로 했을 경우 외부에서도 돌고 있는 포트와 충돌되거나 접속 불가능한 포트인 경우 시작되지않을 수 있다.
install
# 도커 접속
docker exec -it [컨테이너 이름] bash
# install
apt-get update
apt-get install mariadb-server
시작 및 상태 확인
# start
service mysql start
# 실행됬는지 확인
service mysql status
# 실행 안됨 # 포트 등 확인 필요
root@test:/# service mysql status
* MariaDB is stopped.
# 실행 됨
root@T4_BLADE:/# service mysql status
* /usr/bin/mysqladmin Ver 9.1 Distrib 10.3.38-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.3.38-MariaDB-0ubuntu0.20.04.1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 36 min 3 sec
Threads: 6 Questions: 70 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.032
실행된 경우 root 설정
실행 안된 경우 에러 확인 및 port 설정
root 설정
mysqladmin -u root password [비밀번호]
root 설정 후 mysql 을 써서 접속이 가능한지 확인하자
에러 확인 및 port 설정
에러 확인
tail -f /var/log/mysql/error.log
포트 문제 등으로 인한건 로그가 안남는것 같았다.
포트 변경
나같은 경우 포트가 중복되어 실행이 안되었었다.
컨테이너의 포트 옵션(-p)으로 포트를 할당했을 경우 거의 나타나지 않으나
--net=host로 네트워크를 할당하였을 경우 내부에서는 사용하지 않으나 외부와 포트가 겹쳐 실행이 안될 수 있다.
이 경우 외부 포트를 먹고 있는 프로세스를 종료하거나 현재 mariadb의 포트를 변경해주어야 한다.
기본적으로 주석처리 되어있으나
주석을 풀어 기본 포트인 3306이 아닌 다른 포트로 변경해 준다.
그리고 다시 restart
# vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
port = 3306 # 이부분 변경
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
#skip-external-locking
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
restart
service mariadb restart
반응형
'프로젝트 설정 > Docker' 카테고리의 다른 글
[Docker] Docker installation on Ubuntu 20.04 (0) | 2023.04.21 |
---|---|
[Docker] Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (feat. ubuntu) (0) | 2023.03.03 |
[Docker] 포트 설정 (0) | 2023.02.03 |
[Docker] 🐳 docker container 시간대 변경하기 (feat. timezone) (0) | 2023.01.27 |
[Docker] 컨테이너 내부에서 자신의 ID 확인하기 (0) | 2022.09.15 |