All About Develop/DB

Maria DB

lxexjx 2022. 9. 13. 15:11

MariaDB 설치

MariaDB의 모든 권한이 있는 관리자의 이름은 root. 설치시에 id:root와 pw:설정한다

MariaDB의 설치가 완료되면 MariaDB10.3(x64)가 등록됨을 알 수 있다.

 

★HeidiSQL은 MariaDB와 관련된 대부분의 작업을 GUI로 처리하고 결과를 확인하게 해주는 클라이언트 프로그램!

1)  ↑ 신규 버튼

2) 설정창에서 사용자와 암호를 입력하고 세션이름 변경(localhost) 

 

여기까지 하면 MariaDB Server에 접속됨

 

 

MariaDB 데이터베이스 생성

우선 데이터베이스 구축 절차 : DB생성 → 테이블 생성 → 데이터 입력 → 데이터 조회 

 

1) 다시 HeidiSQL 실행

2) [세션 관리자 ] 창에서 앞서 선택된 localhost 세션으로 연결할 건데 

     MariaDB포트는 3306을 사용함. 오라클은 1521, SQL Server는 1433

3) 데이터베이스 생성

springBoot 데이터베이스 생성 완료

아직 이 데이터베이스에는 아무것도 들어있지 않다.

 

 

 

테이블 생성

 

 

 

 

HeidiSQL 주요 기능

1. 서버 연결

  • 여러대의 MariaDB,MySQL 서버에 다중 접속
  • 압축된 클라이언트/서버 프로토콜 사용
  • 사용자 관리 기능
  • 데이터베이스별 이요자 권한 설정 관리
  • 다중 쿼리 탭

2.서버 호스트

  • 모든 서버 변수의 보기 지원
  • 현대 세션 ,전역 서버 변수 편집
  • 서버 통계 변수 보기, 시간당 평균 보기
  • 수행된 SQL 분석 기능
  • SQL명령어 통계 기능

3.서버 데이터베이스

  • 모든 데이터베이스 보기 및 테이블 작업을 위한 단일 데이터베이스 연결
  • 연결된 데이터베이스 보기
  • 신규 데이터베이스 생성, 기존 데이터베이스 이름 변경,데이터베이스 삭제

4. 테이블 뷰, 프로시저, 트리거와 이벤트

 

 

 

 

외부 MariaDB 서버 관리하기

※윈도우 한대에 서버와 클라이언트 모두 설치

                                

MariaDB서버                  ↔                            HeidiSQL 

 서버                                                             클라이언트

 

 

 

※Linux설치된 MariaDB서버에 윈도우에 설치된 HeidiSQL에서 접속

 

<Linux 컴퓨터>                                         <윈도우컴퓨터>

MariaDB서버                  ↔                            HeidiSQL 

    서버                    외부네트워크                 클라이언트

 

Linux 컴퓨터의 방화벽에서 MariaDB의 포트3306번을 허용하도록 설정 필요.

Linux 컴퓨터의 IP주소를 알고 있어야됨.

윈도우 컴퓨터의 HeidiSQL 에서 Linux 컴퓨터로 연결고리 필요.

 

 

 

★사용자 관리

지금까지는 MariaDB 관리자인 root로 접속해서 사용했으나 다양한 사용자가 접속하기에 

root외의 별도의 사용자를 만들고 모든 권한이 아닌 적당한 권한을 부여해서 관리 

 

ex) 사원은 자신의 업무인 데이터베이스의 테이블을 읽기/쓰기만 가능하다.

1. [메뉴-도구] - [사용자 관리자]

 

 

혹은

2. SQL문으로 권한 부여

 

CREATE USER ghostone IDENTIFIED BY ghostone
DEFAULT TABLESPACE "TBSDESTINY"
TEMPORARY TABLESPACE "TBSDESTINYTEMP"
QUOTA UNLIMITED ON "TBSDESTINY"
QUOTA UNLIMITED ON "TBSDESTINYINDEX"
PROFILE "DEFAULT";

GRANT "CONNECT" TO ghostone;
GRANT "RESOURCE" TO ghostone;
GRANT CREATE VIEW TO ghostone;