일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Cloud
- 완전서브타입
- 물리모델
- Oracle
- Slack
- bc정규형
- 워크벤치
- 불완전서브타입
- 배타서브타입
- Workbench
- order-by
- 젠킨스
- 무료티어
- vue3
- 인덱스
- 중복서브타입
- 슬랙
- mysql
- 인텔리제이
- 클라우드
- 오라클
- SQL
- jenkins
- IntelliJ
- index
- group-by
- 서브타입
- 실행계획
- 정규형
- 빈줄제거
- Today
- Total
domsam - IT 기술 블로그
#05 Oracle Cloud Free Tier - DB 본문
퍼블릭 IP주소 확인
티어 접속
$ ssh -i "~.key" ubuntu@퍼블릭IP
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
보안설정
$ sudo mysql_secure_installation
진행 중 나오는 질문 예시 👇
- Enter current password for root: → 그냥 Enter (초기엔 비밀번호 없음)
- Switch to unix_socket authentication? → n ( 유닉스 소켓이라는 인증 방식으로 전환할 것인지 물어보는 질문 )
- Set root password? → y 입력 후 비밀번호 설정
- 나머지는 기본적으로 y 권장 (불필요한 사용자 삭제, 원격 root 로그인 차단 등)
접속
$ sudo mysql -uroot -p
새로운 사용자 생성
외부 접속용 사용자 생성
> create user '새로운 사용자 아이디'@'%' identified by '비밀번호';
> create user 'green'@'%' identified by 'green502';
새로운 사용자 모든 권한 부여
> GRANT ALL PRIVILEGES ON *.* TO '새로운 사용자 아이디'@'%';
> grant all privileges on *.* to 'green'@'%';
적용
> flush privileges;
HeidiSQL에서 접속
SSH로 접속 한 뒤 로컬에서 MySQL접속하는 것과 같은 효과가 난다.
신규 세션을 만들고 아래와 같이 세팅한다.
[ 설정 탭 ]
네트워크 유형: 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 사이)
위 내용을 저장하고 [ 열기 ] 버튼을 눌러 접속 시도해 본다.
mariadb 원격접속 허용
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
편집기로 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
서비스 인스턴스 접속해서
$ nc -zv ${DB 인스턴스 내부 IP} 3306
$ nc -zv 10.0.0.49 3306
Connection to 10.0.0.49 3306 port [tcp/mysql] succeeded!
성공 메세지가 뜨면 된다.
'OS > Linux' 카테고리의 다른 글
#04 Oracle Cloud Free Tier - Service (0) | 2025.09.25 |
---|---|
#03 Oracle Cloud Free Tier - 인스턴스 고정 IP 설정, SSH 접속, 수신 규칙 수정 (0) | 2025.09.25 |
#02 Oracle Cloud Free Tier - VCN, 인스턴스 생성 (0) | 2025.09.25 |
#01 Oracle Cloud Free Tier (0) | 2025.09.25 |