DataBase 란?

     

    설명


    1. 데이터의 체계화된 집합이다
    2. 데이터를 효율적으로 관리하고 검색할 수 있도록 구조화되어 있다.
    3. 컴퓨터 시스템에 저장되며 여러 사용자나 프로그램이 동시에 접근하여 데이터를 활용할 수 있다.

     

    특징

    관계형
    - 데이터의 ACID 를 보장
    - 표준화된 SQL 언어를 사용하여 복잡한 데이털르 쉽게 사용 가능
    - 스키마가 고정되어 데이터 구조를 변경하기 어려움
    - 대규모 트래픽 및 데이터 증가에 대응하여 확장이 어려움

    비 관계형
    - 데이터의 ACID 를보장하지 않음
    - 표준화된 질의 언어 및 API가 없음
    - 고정된 스키마가 없기 때문에 다양한 데이터 구조 사용 가능
    - 대규모 트래픽 및 데이터 증가에 대응한 확장이 쉬움

    * ACID : 원자성, 일관성, 고립성, 지속성을 나타내는 데이터베이스의 특성

     

    설정

    /etc/mysql/mariadb.conf.d/50-server.cnf
    # 이곳에 mariadb 설정 파일이 있다.

    bind-address = 0.0.0.0      # 접속 가능한 주소를 설정한다 0.0.0.0은 모두 가능
    port = 3306                        # 서버가 열리는 포트를 지정한다 기본값은 3306

     

    명령어(mariadb 기준)

    mariadb -u root -h localhost -P 3306 -p                     # 접속 명령어 예시
    -u : 유저
    -h : 호스트
    -P : 포트
    -p : 패스워드
    sudo mariadb                                                             # 이것으로도 접속 가능


    CREATE USER 'user'@'192.168.56.%' IDENTIFIED BY 'password';
    # 유저 생성 명령어 % 는 네트워크 주소가 192.168.56.0 주소면 어디든 가능하다는 의미 
    # 비밀번호는 password 사용

    ALTER USER 'user'@'192.168.56.%' IDENTIFIED BY 'change PW';
    # 비밀번호 바꾸기

    DROP USER 'user'@'192.168.56.%';
    # 유저 삭제

    CREATE DATABASE mydb;
    # mydb라는 이름의 DB 생성

    GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'192.168.56.%';
    # 192.168.56.0/24 에서 접속하는 user에게 mydb를 사용할 수 있는 모든 권한을 준다.
    # 더 자세하게 설정 가능함 

    FLUSH PRIVILEGES;
    # 권한 적용

    SHOW DATABASES;
    # 모든 데이터베이스를 보여줌

    USE mydb;
    # mydb로 이동 (해당 DB를 사용함)

    SHOW TABLES;
    # 테이블 보기

    mariadb -u user -h 192.168.56.10 -P 3306 -p
    # user의 이름으로 호스트의 서버에 접속함
    # 이 때, user의 PC에는 mariadb-client가 설치되어 있어야 함

     

    'DataBase' 카테고리의 다른 글

    SQL이란?  (1) 2024.02.10

    댓글