반응형

(1) 우선 mariaDB내의 저장소의 위치를 확인한다.

$ sudo mysql

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 30
Server version: 10.1.48-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select @@datadir;
+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |             => 현재 설치 위치를 확인한다.
+-----------------+
1 row in set (0.00 sec)

MariaDB [(none)]>

(2) mariaDB 데몬을 종료한다.

$ sudo systemctl stop mariadb

(3) 현재 mariaDB내의 데이터 및 설정정보를 새로운 저장소로 이동시킨다.

$ sudo rsync -av /var/lib/mysql /mariadb/data/

sending incremental file list
mysql/
mysql/aria_log.00000001
mysql/aria_log_control
mysql/debian-10.1.flag
mysql/ib_logfile0
mysql/ib_logfile1
...
...
...
mysql/mysql/user.frm
mysql/performance_schema/
mysql/performance_schema/db.opt

sent 114,284,594 bytes  received 1,879 bytes  228,572,946.00 bytes/sec
total size is 114,249,816  speedup is 1.00

(4) 복사한 새로운 저장소의 mysql 폴더 권한을 변경한다.

단, 만약 권한이 자동으로 따라간 경우에는 아래 명령어를 실행하지 말도록 한다. ls -la 명령어로 /mariadb/data 폴더를 조회했을때 mysql  그룹 및 소유자 권한으로 되어 있다면 별도로 수정하지 않도록 한다.

$ sudo chown -R mysql:mysql /mariadb/data/mysql

(5) my.cnf 파일을 수정해서 저장소 바뀐 경로를 넣어주면 된다.

/etc/mysql/mariadb.conf.d$ sudo vim ./50-server.cnf

(아래내용은 50-server.cnf 내용임)

[mysqld]
lower_case_table_names = 1

#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
#datadir                = /var/lib/mysql
datadir         = /mariadb/data/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql

(6) 재시작 하면 땡!

$ sudo systemctl start mariadb

(7) 테스트!

테스트는 aaaa 라는 테이블을 만들어서 /mariadb/data 안에 물리적인 파일이 생성되는지 확인한다.

$ sudo mysql
.... 접속완료

MariaDB [(none)]> create database aaaa;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)


$ ls -la /mariadb/data/mysql/
total 110660
drwxr-xr-x 5 mysql mysql     4096 Aug 29 00:10 .
drwxr-xr-x 3 root  root      4096 Aug 28 23:57 ..
drwx------ 2 mysql mysql     4096 Aug 29 00:10 aaaa  ==> 발견!!
-rw-rw---- 1 mysql mysql    16384 Aug 28 23:56 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Aug 28 23:56 aria_log_control
-rw-r--r-- 1 mysql mysql        0 Aug 28 23:46 debian-10.1.flag
-rw-rw---- 1 mysql mysql 12582912 Aug 29 00:10 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Aug 29 00:10 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Aug 28 23:46 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Aug 28 23:46 multi-master.info
drwx------ 2 mysql mysql     4096 Aug 28 23:46 mysql
-rw-rw---- 1 mysql mysql       15 Aug 28 23:46 mysql_upgrade_info
drwx------ 2 mysql mysql     4096 Aug 28 23:46 performance_schema
-rw-rw---- 1 mysql mysql    24576 Aug 29 00:10 tc.log
ncloud@gov-mariadb:/$

이상 입니다.

 

진짜~~~ 편하네... ㅎㅎㅎ 읽으신 분들은 댓글 꼭 달아주세요.

반응형

+ Recent posts