본문 바로가기
개발자의 삶/Server

단기 속성으로 배우는 우분투 mysql 설치부터 외부(원격) 접속 설정까지

by 나.R.D.(Rule Destoryer) 2020. 11. 11.
우선 읽고 갑시다.

mysql version 5.7.32 기준으로 작성되었다.
사용자가 입력해야 되는 부분을 {내용}으로 표기했다.
 

mysql 설치
apt-get mysql-server

 

mysql 삭제
apt-get purge mysql-server

 

mysql 접속
/usr/bin/mysql -u root -p

 

root 비밀번호 변경
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{비밀번호}');

※ root는 외부에서 접근하지 않는 것이 보안상 좋기 때문에 비밀번호만 변경해준다.

  • 비밀번호 : root 계정에 사용 할 비밀번호를 입력한다.

 

데이터베이스 생성
CREATE DATABASE {데이터베이스 명};
  • 데이터베이스 명 : 생성할 데이터베이스명을 입력한다.

 

사용자 계정 및 비밀번호 생성
CREATE USER '{사용자 계정}'@'{호스트}' IDENTIFIED BY '{비밀번호}';
  • 사용자 계정 : 새로 생성할 사용자 계정을 입력한다.
  • 호스트 : 같은 네트워크 네트워크 내에서 사용할 거라면 'localhost' 외부에서 접근을 하기 위해서는 '%', 특정 ip만 할 경우, ip를 넣으면 된다.
    • localhost : 같은 네트워크 대역 허용
    • % : 전체 허용
    • {특정 IP} : 해당 IP(대역)만 허용
      • xxx.xxx.xxx.xxx
      • xxx.xxx.xxx.*
      • ...
  • 비밀번호 : 새로 생성할 사용자 계정에 사용 할 비밀번호를 입력한다.

 

데이터베이스 권한 설정
GRANT ALL PRIVILEGES ON {데이터베이스 명}.{테이블 명} TO '{사용자 계정}'@'{호스트}' WITH GRANT OPTION;
  • 데이터베이스 명 : 사용자 계정에게 권한을 줄 데이터베이스 명을 입력한다.
    • * : 전체
    • {특정 데이터베이스 명} : 해당 데이터베이스만 권한 설정
  • 테이블 명 : 사용자 계정에게 권한을 줄 테이블 명을 입력한다.
    • * : 전체
    • {특정 테이블 명} : 해당 테이블만 권한 설정
  • 사용자 계정 : 권한을 줄 사용자 계정을 입력한다.
  • 호스트
    • localhost : 같은 네트워크 대역 허용
    • % : 전체 허용
    • {특정 IP} : 해당 IP(대역)만 허용
      • xxx.xxx.xxx.xxx
      • xxx.xxx.xxx.*
      • ...

 

사용자 계정 비밀번호 변경
SET PASSWORD FOR '{사용자 계정}'@'{호스트}' = PASSWORD('{비밀번호}');

※ root 비밀번호 변경과 동일하다.

  • 사용자 계정 : 비밀번호를 변경할 계정을 입력한다.
  • 호스트
    • localhost : 같은 네트워크 대역 허용
    • % : 전체 허용
    • {특정 IP} : 해당 IP(대역)만 허용
      • xxx.xxx.xxx.xxx
      • xxx.xxx.xxx.*
      • ...
  • 비밀번호 : 사용자 계정에 사용 할 비밀번호를 입력한다.

 

설정 적용
FLUSH PRIVILEGES;

 

우분투 mysql 방화벽 허용 설정
ufw allow mysql

 

mysql 방화벽 설정
vi /etc/mysql/mysql.conf.d/mysqld.cnf
  • bind-address 해당 부분 찾아서 주석처리
    • 주석은 문자열 앞에 #을 붙여주면 이후 문자열이 주석처리 된다. (한줄씩)
#bind-address           = 127.0.0.1

#참고: dev.mysql.com/doc/refman/5.7/en/problems-connecting.html

MySQL :: MySQL 5.7 Reference Manual :: 6.2.17 Troubleshooting Problems Connecting to MySQL

6.2.17 Troubleshooting Problems Connecting to MySQL If you encounter problems when you try to connect to the MySQL server, the following items describe some courses of action you can take to correct the problem. Make sure that the server is running. If it

dev.mysql.com

※ bind-address 를 127.0.0.1 로 설정하게 되면, 로컬로만 수신하도록 구성이된다고 한다. 타 블로그에서는 0.0.0.0 으로 처리로도 가능하다고 한다.

반응형

댓글