(Docker) MariaDB 설치 1 (feat. 컨테이너 실행)

이미 실행 중인 컨테이너에 mariadb를 설치하는 방법

※지침※

  • 외부 포트 : 외부에서 연결해야 하고 내부적으로 사용하지 않는 경우 런타임에 포트를 열지 않으면 액세스할 수 없을 것입니다.

  • 중복 포트 : 예를 들어 네트워크가 –net=host로 설정되어 있는 경우 외부에서 실행 중인 포트와 충돌하거나 해당 포트에 연결할 수 없는 경우 시작에 실패할 수 있습니다.

설치하다

# 도커 접속
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

실행되면 루트 설정

실행되지 않으면 오류를 확인하고 포트를 설정하십시오.

루트 구성

mysqladmin -u root password (비밀번호)

루트를 구성한 후 mysql을 사용하여 연결할 수 있는지 확인하십시오.

오류 확인 및 포트 설정

오류 검사

tail -f /var/log/mysql/error.log

포트 문제로 로그가 남지 않는 것 같습니다.

포트 변경

제 경우에는 포트가 중복되어 실행할 수 없었습니다.

포트가 컨테이너의 포트 옵션(-p)으로 할당된 경우 거의 발생하지 않으며,

네트워크를 –net=host로 지정하면 내부적으로는 사용하지 않지만 외부와의 포트 중복으로 인해 실행에 실패할 수 있습니다.

이 경우 외부 포트를 사용 중인 프로세스를 종료하거나 mariadb의 포트를 변경해야 합니다.

기본적으로 주석 처리됨

주석을 해제하고 기본 포트 3306이 아닌 다른 포트로 변경합니다.

다시 시작

# 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

재시작

service mariadb restart