IT

우분투에 maria db 설치

by SysOp posted Feb 02, 2026
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
주소 https://www.kimsaem.net

설치 전 준비

먼저 패키지 저장소를 업데이트합니다:


 

bash

sudo apt update sudo apt upgrade

MariaDB 설치

서버와 클라이언트를 모두 설치합니다:


 

bash

# MariaDB 서버 설치 sudo apt install mariadb-server # MariaDB 클라이언트 설치 sudo apt install mariadb-client

보안 설정

설치 후 계정 및 보안 설정 스크립트를 실행합니다:


 

bash

sudo mysql_secure_installation

이 스크립트에서는 다음 항목들을 설정합니다:​

  • Switch to unix_socket authentication → n

  • Change the root password? → n (또는 원하는 경우 y)

  • Remove anonymous users? → y

  • Disallow root login remotely? → y

  • Remove test database and access to it? → y

  • Reload privilege tables now? → y

설치 확인 및 기본 명령어

MariaDB 버전을 확인하여 정상 설치되었는지 확인합니다:​


 

bash

mariadb --version

MariaDB 서비스 관리 명령어:​


 

bash

# MariaDB 활성화 systemctl enable mariadb # MariaDB 시작 systemctl start mariadb # MariaDB 상태 확인 systemctl status mariadb # MariaDB 재시작 sudo systemctl restart mariadb

접속 방법

다음 명령어로 MariaDB에 접속할 수 있습니다:


 

bash

sudo mysql -u root -p

또는 간단히:


 

bash

sudo mariadb

기본 데이터베이스 작업

접속 후 기본적인 데이터베이스 명령어는 다음과 같습니다:

-- 데이터베이스 목록 확인
SHOW DATABASES;

-- 데이터베이스 생성
CREATE DATABASE 데이터베이스명;

-- 데이터베이스 삭제
DROP DATABASE 데이터베이스명;

-- 사용자 생성 (로컬 접속용)
CREATE USER '사용자명'@'localhost' IDENTIFIED BY '비밀번호';

생성한 데이터베이스에 사용자를 지정하려면 GRANT 명령어를 사용하여 특정 사용자에게 해당 데이터베이스에 대한 권한을 부여해야 합니다.

기본 권한 부여 방법

특정 데이터베이스에 모든 권한을 부여하는 기본 형식입니다:

 

GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '사용자명'@'접속위치';
FLUSH PRIVILEGES;

 

예시:

-- mydb 데이터베이스의 모든 테이블에 대한 모든 권한 부여
GRANT ALL PRIVILEGES ON mydb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
 

접속 위치 지정

사용자의 접속 위치에 따라 다르게 설정할 수 있습니다:

-- localhost에서만 접속 허용
GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'localhost';

-- 모든 위치에서 접속 허용
GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'%';

-- 특정 IP 대역에서만 접속 허용
GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'192.168.0.%';

특정 권한만 부여

필요한 권한만 선택적으로 부여할 수 있습니다:

-- SELECT, INSERT, UPDATE 권한만 부여
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'user1'@'localhost';

-- 특정 테이블에만 권한 부여
GRANT SELECT, INSERT ON mydb.테이블명 TO 'user1'@'localhost';

-- 특정 컬럼에만 UPDATE 권한 부여
GRANT UPDATE(컬럼1, 컬럼2) ON mydb.테이블명 TO 'user1'@'localhost';
 

주요 권한 종류

MariaDB에서 사용할 수 있는 주요 권한들입니다:​

  • SELECT: 데이터 조회

  • INSERT: 데이터 삽입

  • UPDATE: 데이터 수정

  • DELETE: 데이터 삭제

  • CREATE: 테이블/데이터베이스 생성

  • DROP: 테이블/데이터베이스 삭제

  • INDEX: 인덱스 생성/삭제

  • ALTER: 테이블 구조 변경

  • EXECUTE: 프로시저 실행

  • ALL PRIVILEGES: 모든 권한 (GRANT OPTION 제외)

권한 확인

부여한 권한을 확인하는 방법입니다:

-- 특정 사용자의 권한 확인
SHOW GRANTS FOR 'user1'@'localhost';

-- 현재 사용자의 권한 확인
SHOW GRANTS;

권한 회수

부여한 권한을 제거할 수 있습니다:

-- 모든 권한 회수
REVOKE ALL PRIVILEGES ON mydb.* FROM 'user1'@'localhost';

-- 특정 권한만 회수
REVOKE DELETE ON mydb.* FROM 'user1'@'localhost';

-- 변경사항 적용
FLUSH PRIVILEGES;