본문 바로가기
OS/Linux

#05 Oracle Cloud Free Tier - DB

by domsam 2025. 10. 13.
반응형

퍼블릭 IP주소 확인

햄버거 버튼 > 컴퓨트 > 인스턴스

 

퍼블릭 IP를 확인한다.

 

티어 접속

커맨드창에서

i.g. ssh -i ${key파일 경로} ubuntu@${퍼블릭 IP}

$ ssh -i C:\download\oracle-service.key ubuntu@122.222.121.223

 

root 비밀번호 변경

$ sudo passwd

 

패키지 목록 업데이트

현재 source와 비교하여 버전정보 업데이트

$ sudo apt update

버전정보에 맞게 업그레이드 -y 는 yes 라는 의미이며 중간에 yes/no 물어보는 상황에서 모두 Yes처리를 한다는 의미이다.
$ sudo apt upgrade -y

 

MariaDB 설치

$ sudo apt install mariadb-server -y

 

MariaDB 서비스 상태 확인

$ sudo systemctl status mariadb

상태가 active (running) 이면 정상입니다.

 

재부팅시 MariaDB 자동 시작

$ sudo systemctl enable mariadb

 

MariaDB 보안설정

$ sudo mysql_secure_installation

진행 중 나오는 질문 예시 👇

  • Enter current password for root: → 그냥 Enter (초기엔 비밀번호 없음)
  • Switch to unix_socket authentication? → n ( 유닉스 소켓이라는 인증 방식으로 전환할 것인지 물어보는 질문 )
  • Set root password? → y 입력 후 비밀번호 설정
  • 나머지는 기본적으로 y 권장 (불필요한 사용자 삭제, 원격 root 로그인 차단 등)

 

MariaDB 접속

$ sudo mysql -uroot -p

비밀번호 입력 (입력되지 않는 것처럼 보이지만 입력 중이다.)

 

새로운 사용자 생성

 

외부 접속용 사용자 생성

i.g. create user '새로운 사용자 아이디'@'%' identified by '비밀번호';

> create user 'green'@'%' identified by 'green502';

 

새로운 사용자 모든 권한 부여

i.g. GRANT ALL PRIVILEGES ON *.* TO '새로운 사용자 아이디'@'%'; 

> grant all privileges on *.* to 'green'@'%';

 

적용

> flush privileges;

 

HeidiSQL에서 접속

SSH로 접속 한 뒤 로컬에서 MySQL접속하는 것과 같은 방식을 취한다.
신규 세션을 만들고 아래와 같이 세팅한다. 
그래서 호스트명/IP 내용이 localhost 인 것이다.

[ 설정 탭 ]
네트워크 유형: MariaDB or MySQL (SSH tunnel)
호스트명 / IP: localhost
암호: 비밀번호 입력
포트: 3306

 

[ SSH 터널 탭 ] 
(체크) Use SSH tunnel
SSH 실행 파일: ssh.exe (plink.exe 는 ppk 키 파일을 따로 생성해야 함)
SSH 호스트: 퍼블릭IP
포트: 22
사용자 이름: ubuntu
암호: (빈칸)
개인 키 파일: .key파일 선택 
로컬 포트: 사용하지 않는 포트번호 설정 (3307~3309 사이)

 

위 내용을 저장하고 [ 열기 ] 버튼을 눌러 접속 시도해 본다.

 

위와 같은 모달창이 뜨면 예(Y) 버튼을 클릭

 

mariadb 원격접속 허용

$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

vim 편집기 사용법을 숙지해야 한다.
vim 편집기로 127.0.0.1을 0.0.0.0으로 변경하고 저장

# bind-address = 127.0.0.1
bind-address = 0.0.0.0

 

mariadb 재시작

$ sudo systemctl restart mariadb

 

방화벽 허용

포트 3306을 열었더라도, REJECT가 기본 차단 역할을 하고 있어서 VCN 내부 접근이 막히는 상황입니다.

문제되는 규칙 제거

$ sudo iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited

 

3306 포트 허용 규칙 추가

$ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT

 

OS 재부팅 되어도 iptables 데이터 유지시키기

$ sudo apt install iptables-persistent -y
$ sudo netfilter-persistent save

반응형