[22.12.22] 43일차 [클라우드]

W·2022년 12월 22일
0

국비

목록 보기
62/119

마리아 DB 원격 접속

  • systemctl status mariadb active(running 확인)

  • mysql 마리아DB 접속

외부장치 원격 접속 위해서 권한주기
grant all on shopping_db.* to itwill@외부장치ip주소 identified by '비밀번호';

마리아DB 사용자는 mysql 데이터베이스의 user 테이블에 저장한다.
- use mysql
- select user, host from user where user;


select user, host from user where user NOT like '';

외부장치로 접속하기

  • 외부 가상머신으로 접속

[클라이언트로 사용할 리눅스 머신]
rpm -qa maria*
=> mariadb-x.x.x 가 있어야 클라이언트로 사용할 수 있음

  • 없으면 마리아DB 클라이언트 프로그램 설치
    yum -y install mariadb

  • 원격접속하기
    mysql -u itwill -h DB서버 IP주소 -p
    Enter password : 1234

에러 발생 시

1) 마리아 DB 서버가 동작중인지
2) 방화벽 동작 중이고 Mysql 서비스가 허용되어 있는지
3) itwill 계정에 대한 원격 접속이 설정이 되어 있는지

다시 DB머신으로 가서 방화벽 설정

  • 방화벽 풀어주기
    터미널에서 firewall-config
    설정 : 영구적
  • 서비스 : mysql 체크
  • 옵션 -> firewalld 다시 불러오기
    또는 3306 포트 열어주기

다시 외부장치로 가서 접속하기

mysql -u itwill -h DB서버 IP주소 -p
Enter password : 비밀번호 입력

윈도우에서의 접근

  • 접속 클라이언트 프로그램 필요
  • Mariadb에서 윈도우의 ip 주소를 허용

1) 접속 클라이언트 다운로드
웹주소 : mariadb.org 접속
- download

옵션 DB서버 버전이랑 맞게 바꾸고 download

설치파일 실행 -> next -> next
custom setup 창에서 모든 항목을 X로 변경
client Programs만 항목변경

2) 윈도우 IP 허용 mysql
mysql
grant all on shopping_db.* to itwill@윈도우의 IP 주소 identified by '1234';

윈도우 IP 주소 확인 검색 -> cmd -> config -> IPv4주소 확인

1) 프로그램의 설치2) 마리아 DB의 grant 설정이 완료되었다면 윈도우에서 원격접속을 시도

마리아DB 설치 경로
c:\Program Files \MariaDB-5.5

  • 윈도우 명령 프롬프트
    cd c\Program Files\MariaDB 5.5
    dir 디렉토리 확인

    cd bin
    mysql -u itwill -h DB서버주소 -p
    password :비밀번호

MariaDB 보안설정

  • root 비밀번호 설정

1) 리눅스에서 설정하는 방법

]# mysqladmin -u root password '1111'
root 비밀번호를 설정 후 mysql만 입력하면 에러발생!!
앞으로 root 접속 시 비밀번호를 입력해야지 접속이 됨!
]# mysql -u root -p
Enter password: 1111

1) 방식의 root 비밀번호 설정은 보안상 좋지 않음!
history 내용을 보면 root 비밀번호를 알 수 있음!
=> 따라서 마리아 DB내의 user 테이블을 수정하는 2번 방식을 더 권장.

2) MariaDB내에서 user 테이블을 수정하는 방법

  • mysql 명령어로 마리아 DB 접속
    use mysql;
    update user set password = password('111') where user ='root';
    flush privileges;
    root 계정 비밀번호가 111로 변경됨.

MariaDB 초기 보안설정

]# mysql_secure_installation


Enter current password for root (enter for none):
=> root 비밀번호가 설정되어 있는지 확인
=> 비밀번호가 설정되어 있지 않다면 엔터키를 눌러서 넘어가고, 설정되어 있다면 해당 비밀번호를 입력

Change the root password? [Y/n]
=> 비밀번호가 설정되어 있다면 n 입력

Remove anonymous users? [Y/n]
=> 익명 사용자를 삭제할 것인가?
=> 어떤 서비스든 익명 사용자의 접속 허용하면 보안상 좋지 않음
=> y를 눌러 익명사용자를 삭제


Disallow root login remotely? [Y/n]
=> root 계정의 원격접속에 관한 설정
=> 외부에서 관리자 계정인 root 계정으로 원격접속은 보안상 좋지 않음!!
=> y를 눌러서 외부에서 root 원격접속을 하지 않도록 설정

Remove test database and access to it? [Y/n]
=> 마이라DB를 설치하고 접속하여 show databases; 명령어를 입력하면 'test DB'가 삭제
=>> 사용하지 않을 test DB는 삭제해주는 것이 보안상 좋음
=> y를 눌러서 test 데이터베이스를 삭제

업로드중..
Reload privilege tables now? [Y/n] y를 눌러서 변경사항 적용

mysql_secure_installation 설정은 설치 후 바로 실행해주는 것이 좋음!!

- 중간에 입력을 잘못할 경우 ctrl+C 키를 눌러 '취소' 가능

방화벽 설정

1) 서비스 허용

  • 터미널에서
    firewall-cmd --add-service=mysql --permanent 서비스 허용
    firewall-cmd --reload 변경된 내용을 적용
    firewall-cmd --list-service 허용된 서비스 확인

2) 포트 허용

  • 터미널에서
    firewall-cmd --add-port=3306/tcp --permanent 포트 허용

0개의 댓글