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 / 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 / 연산자 / 논리 연산자

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

DBeaver / MariaDB / 연결하는 방법

DBeaver / MariaDB / 연결하는 방법

MariaDB를 명령어로만 관리하는 것은 힘듭니다. 적절한 툴을 이용하면 작업 속도를 높일 수 있습니다. MariaDB를 관리하는 툴을 여러 가지가 있는데, 그 중 하나가 DBeaver입니다. Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL ...

MariaDB / Query / EVENT / 만들기, 수정하기, 삭제하기

MariaDB / Query / EVENT / 만들기, 수정하기, 삭제하기

EVENT를 사용하기 위한 설정 방법 1 다음과 같이 명령한다. MariaDB를 다시 시작하면 OFF로 변경된다. SET GLOBAL event_scheduler = ON; 방법 2 환경 설정 파일(Ubuntu Server라면 50-server.cnf, Rocky Linux라면 mariadb-server.cnf)에 다음 코드를 추가하고 MariaDB를 다시 시작한다. 영구적으로 적용된다. event_scheduler = ON 설정 상태 확인 SHOW variables LIKE 'event%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+ EVENT ...

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

데이터베이스 조회 데이터베이스 목록을 조회한다. SHOW DATABASES; 데이터베이스 만들기 test라는 이름의 데이터베이스를 만든다. CREATE DATABASE test; 이미 존재하는 데이터베이스와 같은 이름의 데이터베이스를 만들려고 하면 에러가 난다. 같은 이름의 데이터베이스가 존재하지 않을 때만 만들고 싶다면 IF NOT EXISTS를 추가한다. CREATE DATABASE IF NOT EXISTS test; 마침표 등 특별한 문자를 포함하는 경우에 에러가 난다. 억음 부호로 이름을 감싸면 에러가 나지 않는다. CREATE DATABASE ...

MariaDB / DATABASE / 백업하기, 복원하기

MariaDB / DATABASE / 백업하기, 복원하기

모든 데이터베이스 백업과 복원 백업 모든 데이터베이스를 backup-all.sql로 백업 user는 권한 있는 사용자명으로 변경 mysqldump -u user -p --all-databases > backup-all.sql 복원 backup-all.sql을 복원 user는 권한 있는 사용자명으로 변경 mysql -u user -p < backup-all.sql 특정 데이터베이스 백업과 복원 백업 abc 데이터베이스를 abc.sql로 백업 user는 권한 있는 사용자명으로 변경 mysqldump -u user -p abc > abc.sql 복원 abc.sql을 데이터베이스 abc로 복원 user는 권한 있는 사용자명으로 변경 mysql ...

MariaDB / Query / 주석

MariaDB / Query / 주석

MariaDB의 쿼리문에서 주석을 만드는 방법은 세 가지가 있습니다. 한 줄 주석 한 줄 주석을 만들고 싶다면 # 또는 --를 사용합니다. 기호가 있는 다음부터 줄 끝까지가 주석이 됩니다. # Comment -- Comment 여러 줄 주석 여러 줄의 주석을 만들고 싶다면 /* */를 사용합니다. /* Comment Comment */

MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수

MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수

SUBSTRING 12345678의 5번째부터 끝까지 문자열을 추출합니다. SELECT SUBSTRING( '12345678', 5 ); +----------------------------+ | SUBSTRING( '12345678', 5 ) | +----------------------------+ | 5678 | +----------------------------+ SELECT SUBSTRING( '12345678' FROM 5 ); +--------------------------------+ | SUBSTRING( '12345678' FROM 5 ) | +--------------------------------+ | 5678 ...

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

예제로 사용한 데이터베이스는 employees입니다. CONCAT CONCAT은 문자열을 이어주는 함수입니다. 예를 들어 CONCAT( first_name, last_name )는 first_name의 값과 last_name의 값을 이어서 출력합니다. MariaDB > SELECT first_name, last_name, CONCAT( first_name, last_name ) FROM employees LIMIT 5; +------------+-----------+---------------------------------+ | first_name | last_name | CONCAT( first_name, last_name ) | +------------+-----------+---------------------------------+ | Georgi | Facello | GeorgiFacello ...

MariaDB / HeidiSQL / TIP

MariaDB / HeidiSQL / TIP

주석 설정하기 해제하기 주석으로 만들려는 코드를 선택합니다. 마우스 우클릭 후 를 클릭하면... 각 행에 --가 붙으면서 주석 처리가 됩니다. 주석을 선택한 상태에서 를 클릭하면 주석이 해제됩니다. 예약어 대문자로 만들기 예약어는 대소문자를 구분하지 않지만, 보통 대문자로 입력합니다. 대문자와 소문자를 번갈아 입력하는 것은 번거롭습니다. 다행이 HeidiSQL에는 예약어를 대문자로 바꿔주는 기능이 있습니다. 쿼리 창에서 마우스 우클릭하고 을 ...