상세 컨텐츠

본문 제목

mysql 외부 접속 및 root 비밀번호 변경

Ops

by 크리두 2020. 6. 26. 14:05

본문

반응형

여기서는 mysql 말고 mariaDB로 설정했습니다.

라이센스 문제야 상용 서비스 아니면 신경안쓰긴 하지만

그냥 처음부터 maria로 설정했습니다.

 

세팅을 처음 할때마다 계속 찾는거 같아서 기록 차원으로 남겨야겠음.

 

환경 설정

OS : Amazon Linux 2 AMI (HVM)
Instance Type : t2.micro

DB : 5.5.64-MariaDB MariaDB Server

 

 

1. mariadb 설치

# yum install mariadb-server

 

2. maria db 시작

# systmectl start mariadb.service
# systmectl enable mariadb.service

3. maria db 접속

처음 설치 시에 아마도 비밀번호 설정을 안했으면 그냥 접속 가능

아래 명령어

# mysql -u root

3. root 비밀번호 변경

Your MariaDB connection id is 22
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

접속하면 위와 같은 화면 나오면 차례대로 진행

UPDATE mysql.user SET password=password('패스워드') WHERE user='root';
FLUSH PRIVILEGES;

 

4. 외부 접속 허용

DB 설정 후에 필요한 사용자나 root는 모두 접속하겠지만 외부 네트워크에서 접근/접속하기 위해 설정 필요

 

테이블 살펴보기
mysql에 들어가서 다음 방법을 이용해 접근 상태를 확인

mysql> use mysql;
mysql> select host, user, password from user;

출력된 정보를 확인해보면, localhost나 127.0.0.1만 등록이 되어있는 것을 확인됨

외부에서 접근이 되게 하려면, 따로 등록

 

권한 설정 하기
1) 특정 IP 접근 허용 설정

mysql> grant all privileges on *.* to 'root'@'192.168.56.101' identified by 'root의 패스워드';


2) 특정 IP 대역 접근 허용 설정

mysql> grant all privileges on *.* to 'root'@'192.168.%' identified by 'root의 패스워드';


3) 모든 IP의 접근 허용 설정

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드'

 

등록 후 확인 및 적용시키기
계정에 설정한 IP혹은 %가 등록 되어있는지 확인을합니다.

mysql> select host, user, password from user;
mysql> flush privileges;

 

my.cnf에서 외부 접속 관련 내용 변경하기
my.cnf 설정파일에서 bind-address라는 부분을 주석처리
vi /etc/my.cnf

# bind-address = 127.0.0.1

 

mysql 재시작

systemctl restart mariadb.service

 

mysql db 클라이언트를 통해 외부 접속이 가능한지 확인하면 끝~~~

 

반응형

'Ops' 카테고리의 다른 글

파이썬 psutil 에러 (ImportError: version conflict:)  (0) 2020.02.05

관련글 더보기

댓글 영역