<EC2-퍼블릭-IP>
(예: 3.39.181.117
)22
(기본 SSH 포트)ubuntu
(Amazon Linux는 ec2-user
).pem
나 .ppk
키파일 선택 (예: your-key.pem
)EC2에 접속한 후, 현재 실행 중인 Docker 컨테이너를 확인합니다.
docker ps
출력 예시:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 mariadb:10.6 "docker-entrypoint.s…" 5 hours ago Up 5 hours 0.0.0.0:3306->3306/tcp mariadb
컨테이너가 실행 중이라면 컨테이너 이름(예: mariadb
) 또는 ID를 확인합니다.
Docker 컨테이너 내부에서 MySQL을 실행하려면 다음 명령어를 사용합니다.
docker exec -it mariadb mysql -u root -p
mariadb
: 컨테이너 이름 또는 컨테이너 ID-u root
: MySQL의 루트 사용자-p
: 비밀번호 입력을 위한 옵션비밀번호를 입력하면 MySQL CLI가 실행됩니다.
MariaDB에 로그인한 후 다음 명령을 실행하여 데이터베이스를 확인합니다.
SHOW DATABASES;
출력 예시:
+--------------------+
| Database |
+--------------------+
| information_schema |
| userdatabase |
+--------------------+
USE userdatabase:
SHOW TABLES;
출력 예시:
+-------------------+
| Tables_in_userdatabase |
+-------------------+
| users |
| orders |
+-------------------+
SELECT * FROM users LIMIT 5;
컨테이너 내부로 들어가지 않고 직접 호스트에서 명령을 실행할 수도 있습니다.
docker exec -it mariadb mysql -u myuser -p mypassword -e "SHOW DATABASES;"
출력 예시:
Database
information_schema
userdatabase
만약 데이터베이스 연결에 문제가 있을 경우, 컨테이너 로그를 확인하여 문제를 진단할 수 있습니다.
docker logs mariadb --tail 50
로컬 서버에서 다음 명령을 실행하여 MySQL 데이터를 백업합니다.
docker exec mariadb mysqldump -u root -p userdatabase > backup.sql
백업한 SQL 파일을 데이터베이스에 복원하려면:
docker exec -i mariadb mysql -u root -p userdatabase < backup.sql
컨테이너 간 네트워크 연결을 확인하려면 다음 명령을 사용합니다.
docker network ls
특정 네트워크에 컨테이너가 연결되어 있는지 확인하려면:
docker inspect mariadb
만약 MariaDB의 설정을 변경하려면 컨테이너 내부에서 MariaDB 설정 파일(my.cnf
)을 확인해야 합니다.
docker exec -it mariadb sh
cat /etc/mysql/my.cnf
예를 들어, 원격 접속을 허용하려면 다음 설정을 확인합니다.
[mysqld]
bind-address = 0.0.0.0
설정을 변경한 후 컨테이너를 재시작합니다.
docker restart mariadb