: Linux 계열의 운영체제
: 물리적인 컴퓨터 안에 가상의 컴퓨터(VM)를 만드는 프로그램(하이퍼바이저)
: Windows용 SSH 터미널 + SFTP + X11 서버가 결합된 통합 관리 툴
: 응용 프로그램과 필요한 라이브러리를 패키징해 독립적으로 구동하는 컨테이너 플랫폼
: Oracle 사에서 만든 고성능 데이터베이스 관리 시스템(RDBMS)
: 오픈소스 관계형 데이터베이스
: 다양한 DB에 접속 가능한 GUI 데이터베이스 클라이언트
[Windows]
│
├── VirtualBox
│ └─ Ubuntu VM
│ ├─ Docker
│ │ ├─ Oracle XE 컨테이너 (1521포트)
│ │ └─ MySQL 컨테이너 (3306포트)
│
├── MobaXterm (SSH 접속, 터미널)
└── DBeaver (GUI 접속)
VirtualBox: Ubuntu 서버 실행
Ubuntu: Docker 컨테이너 실행
MobaXterm: 터미널 관리
DBeaver: 데이터베이스 관리
이 구성이 완료되면,
가상 머신 생성
VirtualBox 설치 후, 새 VM 생성
네트워크 포트포워딩 설정
OpenSSH 서버 설치
$sudo apt update
# openssh 설치 시(yes 옵선 자동 적용)
$sudo apt install openssh-server -y
OpenSSH 상태 확인 (active면 정상)
$sudo systemctl status ssh
실행중이 아니면 SSH 서버 시작하기
$sudo systemctl start ssh
$sudo systemctl status ssh
Ubuntu 시간 변경
# 현 시스템 시간 확인
$timedatectl
# 시스템 시간 변경 전 해당 지역 지원 여부 확인
$timedatectl list-timezones
# Seoul 단어가 포함된 데이터만 검색
$timedatectl list-timezones | grep Seoul
# 시간 변경
$sudo timedatectl set-timezone Asia/Seoul
$timedatectl
ubuntu에 mysql 설치
설치
# 패키지 업데이트
$sudo apt update
# 설치 명령어
$sudp apt install mysql-server
# 설치된 mysql 버전 확인
$mysql --version
# mysql 실행 상태 확인
$sudo systemctl status mysql
mysql root 계정으로 접속
$sudo mysql -u root -p
# databases 확인
mysql>show databases;
# 계정 확인
mysql>select host, user from mysql.user;
# alter 명령어로 pw 수정
# root 계정은 pw 빈 칸으로 자동 설정됨
mysql>alter user 'root'@'localhost' identified with mysql_native_password by 'root';
# mysql 접속 해제
mysql>exit
mysql 외부 접속을 위한 설정 파일 수정
# find 명령으로 mysqld.cnf 파일의 위치 검색
$sudo find / -name "mysqld.cnf"
# /etc/mysql/mysqld.cnf 파일 편집
$sudo vi /etc/mysql/mysql.conf.d/mysqld.conf
# 열린 파일에서 모든 ip 접속 허용하게 변경(bind-address)
bind-address = 0.0.0.0
# 저장
esc -> :sq!
# 수정 후 mysql server 재시작
$sudo service mysql restart
$sudo systemctl status mysql
$sudo mysql -u root -p
# 사용자가 원격에서 접속하도록 설정(이미 존재하면 생략 가능)
CREATE USER 'root'@'@' IDENTIFIED BY 'root';
GRAND ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES; # 영구 저장
SELECT host, user FROM mysqluser;
Docker 설치 및 확인
# docker 설치 후 로그인
$sudo apt install -y docker.io
# docker 버전 확인
$sudo docker --version
# local system의 docker image 존재 확인
$sudo docker images
# local system의 docker container 확인
$sudo docker ps -a
oracle dontainer 설치
# docker 기반 oracle db 설치
$sudo docker pull oracleinanutshell/oracle-xe-11g
# 이미지로 컨테이너(실체화) 설치 및 실행
# ubuntu 내에서 oracle container로 실행되는 db와 통신 시 1521번 포트로 접속하겠다는 설정
# 1521(ubuntu 접속 시 포트) : 1521(orcle 자체 기본 포트)
$sudo docker run -d --name oracle-xe-11g -p 1521:1521 oracleinanutshell/oracle-xe-11g
# oracle 접속
$sqlplus system/oracle
# 일반 계정 (id scott / pw tiger) 생성
SQL> create user scott identified by tiger;
# scott 계성 관리 권한 부여
SQL> grant connect, resource, dba to scott;
# scott 계정으로 갈아타기
SQL> connect scott/tiger
**역할**:
MobaXterm 실행
SSH 세션 연결
127.0.0.1Oracle 접속
allowPublicKeRetrieval을 TRUE로 변경MySQL 접속
DB 유형: MySQL
호스트: 127.0.0.1 / 포트 : 1521
Database: XE
계정 : scott/tiger
SSH 추가 설정
Test Connection 해보고 연결