MariaDB / 데이터 저장 위치 변경하는 방법

Ubuntu 24.04 Server

현재 저장 위치 확인

  • MariaDB에 접속한 후 다음과 같이 명령하면...
select @@datadir;
  • 데이터 저장 경로를 확인할 수 있다.
MariaDB [(none)]> select @@datadir;
+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |
+-----------------+

데이터 저장 위치 변경

예를 들어 데이터 저장 위치를 /var/lib/mysql/에서 /data/mariadb/로 변경한다고 하면...

  • MariaDB 서비스를 중지한다.
# systemctl stop mariadb
  • /data/mariadb 디렉토리의 소유자를 mysql로 변경한다.
# chown -R mysql:mysql /data/mariadb
  • ll 명령어로 소유자를 확인할 수 있다.
# ll /data
total 12
drwxr-xr-x  3 root  root  4096 Jun 10 10:11 ./
drwxr-xr-x 24 root  root  4096 Jun 10 10:11 ../
drwxr-xr-x  2 mysql mysql 4096 Jun 10 10:11 mariadb/
  • /var/lib/mysql/ 안에 있는 데이터를 /data/mariadb/로 복사한다. cp로 하면 소유자가 바뀔 수 있으므로, rsync를 이용한다.
# rsync -av /var/lib/mysql/ /data/mariadb
  • /etc/mysql/mariadb.conf.d/50-server.cnf 파일에서 다음의 코드를...
#datadir = /var/lib/mysql
  • 다음처럼 변경한다.
datadir = /data/mariadb
  • MariaDB 서비스를 시작한다.
# systemctl start mariadb

테스트

create database testdb;
  • /data/mariadb에 testdb 디렉토리가 생성되었는지 확인한다.

Windows

현재 저장 위치 확인

  • my.ini 파일을 연다.

  • datadir의 값이 데이터 저장 위치이다.

데이터 저장 위치 변경

예를 들어 데이터 저장 위치를 C:/Program Files/MariaDB 11.4/data에서 C:/MariaDB로 변경한다고 하면...

  • 실행 창에서 services.msc를 실행하여 서비스를 연다.
  • MariaDB 서비스를 선택하고 마우스 우클릭 후 [중지]를 클릭한다.

  • C:\MariaDB를 선택하고 마우스 우클릭 후 [속성]을 클릭한다.

  • [보안] 탭의 [편집]을 클릭한다.

  • [추가]를 클릭한다.

  • NT SERVICE\MariaDB를 입력하고 [이름 확인]을 클릭한다.

NT SERVICE\MariaDB는 서비스에서 볼 수 있는 MariaDB 서비스 계정이다.

  • [확인]을 클릭한다.

  • MariaDB 계정에 모든 권한을 부여하고 [확인]을 클릭한다.

  • C:\Program Files\MariaDB 11.4\data에서 my.ini 파일을 제외한 모든 파일을 C:\MariaDB로 복사한다.

  • MariaDB 서비스를 시작한다.

테스트

create database testdb;

  • C:\MariaDB에 testdb 디렉토리가 생성되었는지 확인한다.

같은 카테고리의 다른 글
MariaDB / 연산자 / 논리 연산자

MariaDB / 연산자 / 논리 연산자

MariaDB의 논리 연산자에 대하여 알아본다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_2이라는 테이블이다. C_1의 데이터 형식은 정수, C_2의 데이터 형식은 문자이다. +----+------+------+ | ID | C_1 | C_2 | +----+------+------+ | 1 | 1 | A | | 2 | 2 | B ...

MariaDB / SELECT 결과를 INSERT하는 방법

MariaDB / SELECT 결과를 INSERT하는 방법

Z_1 테이블에서 a, b, c 열의 데이터를 Z_2 테이블의 x, y, z 열에 삽입한다고 하자. 우선 Z_1 테이블에서 a, b, c 열의 데이터를 가져오는 쿼리를 만든다. SELECT a, b, c FROM Z_1 ; 그 위에 INSERT를 추가한다. INSERT INTO Z_2 ( x, y, z ) SELECT a, b, ...

MariaDB / 사용자 만들기, 수정하기, 삭제하기, 권한 부여하기, 제거하기

MariaDB / 사용자 만들기, 수정하기, 삭제하기, 권한 부여하기, 제거하기

사용자 목록 보기 mysql 데이터베이스의 user 테이블에서 필요한 정보 출력 SELECT User, Host FROM mysql.user; 사용자 만들기 사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234 CREATE USER 'jb'@'localhost' IDENTIFIED BY '1234'; 사용자 이름 jb, 어디에서나 접속 가능, 비밀번호 1234 CREATE USER 'jb'@'%' IDENTIFIED BY '1234'; 사용자 이름 jb, 192.168.0.111에서 접속 가능, 비밀번호 1234 CREATE USER 'jb'@'192.168.0.111' IDENTIFIED BY '1234'; 이미 ...

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

JOIN SQL의 JOIN은 여러 테이블을 한 번에 나타낼 때 사용합니다. 대표적인 JOIN 방식은 LEFT JOIN, RIGHT JOIN, INNER JOIN이 있습니다. 다음은 세 가지 JOIN의 차이를 알아보기 위한 간단한 예제 테이블입니다. A 테이블에는 나라, B 테이블에는 도시가 있습니다. 도시가 어떤 나라의 도시인지는 a_no로 확인합니다. 나라는 있는데 도시가 없는 것도 있고, 나라는 없는데 도시는 있는 것도 있습니다. A ...

MariaDB / 함수 / INSERT / 일정 구간 문자열 교체하는 함수

MariaDB / 함수 / INSERT / 일정 구간 문자열 교체하는 함수

INSERT는 일정 구간의 문자열을 다른 문자열로 교체하는 함수입니다. INSERT( string, position, length, new-string ) string : 원본 문자열입니다. position : 구간이 시작하는 위치입니다. length : 구간의 길이입니다. new-string : 교체될 문자열입니다. 예를 들어 다음과 같은 경우, 1234567에서 4번째 문자부터 2개를 지우고 ABC를 넣습니다. 즉, 45를 지우고 ABC를 넣습니다. MariaDB > SELECT INSERT( '1234567', 4, 2, 'ABC' ...

MariaDB / Query / UNION, UNION ALL

MariaDB / Query / UNION, UNION ALL

UNION 또는 UNION ALL을 이용하면 여러 테이블의 데이터를 합하여 출력할 수 있습니다. 예를 들어 다음과 같은 테이블과... SELECT * FROM test_1; +-------+-------+-------+ | col_1 | col_2 | col_3 | +-------+-------+-------+ | 1 | A | 1 | | 2 | ...

MariaDB / 함수 / ELT / 특정 위치의 문자열 출력하는 함수

MariaDB / 함수 / ELT / 특정 위치의 문자열 출력하는 함수

ELT는 특정 위치의 문자열을 출력하는 함수입니다. ELT( N, string1, string2, string3, ... ) A, B, C, D에서 2번째의 문자열인 B를 출력합니다. SELECT ELT( 2, 'A', 'B', 'C', 'D' ); +------------------------------+ | ELT( 2, 'A', 'B', 'C', 'D' ) | +------------------------------+ | B ...

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

데이터베이스 만들기 열(Column) 추가, 삭제 등을 해볼 테스트용 데이터베이스 jbTest를 만듭니다. CREATE DATABASE jbTest; 데이터베이스로 들어갑니다. USE jbTest; jbColumn1, jbColumn2, jbColumn3 세 개의 열을 가진 테이블 jbTable1을 만듭니다. CREATE TABLE jbTable1 ( jbColumn1 INT, jbColumn2 INT, jbColumn3 INT ) ; 다음은 현재 테이블 구조입니다. MariaDB > DESC jbTable1; +-----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | ...

MariaDB / 연산자 / 비교 연산자

MariaDB / 연산자 / 비교 연산자

MariaDB의 비교 연산자에 대하여 알아본다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_1이라는 테이블이다. C_1의 데이터 형식은 정수, C_2의 데이터 형식은 문자, C_3의 데이터 형식은 날짜이다. +----+------+------+------------+ | ID | C_1 | C_2 | C_3 | +----+------+------+------------+ | 1 | 1 | A ...

MariaDB / 함수 / LENGTH, BIT_LENGTH, CHAR_LENGTH / 문자열 길이 출력하는 함수

MariaDB / 함수 / LENGTH, BIT_LENGTH, CHAR_LENGTH / 문자열 길이 출력하는 함수

LENGTH LENGTH는 바이트(byte)로 계산된 문자열의 길이를 출력합니다. 영어. 숫자, 특수문자 등은 1로, 한글은 3으로 계산합니다. SELECT LENGTH( 'A1#가' ); +--------------------+ | LENGTH( 'A1#가' ) | +--------------------+ | 6 | +--------------------+ BIT_LENGTH BIT_LENGTH는 비트(bit)로 계산된 문자열의 길이를 출력합니다. 영어, 숫자, 특수문자 등은 ...