data 폴더 위치를 변경해 이동한다.
- 여기서는 MariaDB 를 사용하고 있다.
- rsync 를 사용해서 복사한다.
위치 이동
my.cnf
에 있는 기본 디렉토리를 /data
폴더로 변경하고 적용한다.
- 기본 data 디레토리 확인
my.cnf 에서 datadir 로 지정된 항목을 찾아 보자.
1 2
| ~$ grep datadir /etc/mysql/mariadb.conf.d/* /etc/mysql/mariadb.conf.d/50-server.cnf:#datadir = /var/lib/mysql
|
기본으로 Ubuntu 종류에서는 /var/lib/mysql
를 기본 데이터 디렉토리로 지정하고 있다.
- data 디렉토리를 /data 로 변경한다.
my.cnf
를 수정해서 /data로 변경하자
1
| ~$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
|
- data 폴더 권한
mysqld / mariadbd 데몬은 mysql 사용자, mysql 그룹으로 사용권이 실행되고 있다. 데이터베이스에서 접근하는 모든 자원(폴더, 파일, 로그 등등)은 mysql 사용자로 접근이 가는해야 한다. 그래서 /data 디렉토리 권한을 변경한다.
mysql 사용자와 그룹 확인한다.
1 2 3 4 5
| $ grep mysql /etc/passwd mysql:x:111:117:MySQL Server,,,:/nonexistent:/bin/false
$ grep mysql /etc/group mysql:x:117:
|
소유권을 mysql 사용자로 변경한다.
1 2 3 4 5
| $ sudo chown -R mysql:mysql /data [sudo] 암호: $ ls -al /data drwxr-xr-x 3 mysql mysql 4096 5월 6 22:35 . drwxr-xr-x 20 root root 4096 5월 6 17:15 ..
|
- data 이동
rsync 를 사용해서 /var/lib/mysql 데이터를 /data 아래로 복사한다.
1
| $ sudo rsync -avzph /var/lib/mysql/ /data/
|
- mysqld 데몬을 재시작하고 확인한다.
1 2 3 4
| $ sudo systemctl restart mysql $ sudo systemctl status mysql
● mariadb.service - MariaDB 10.11.2 database server
|
데이터베이스에 접속해 데이터를 확인해 보자. @@datadir
환경변수를 출력해서 /data 가 출력되면 my.cnf 의 설정이 잘 구성된 상태를 확인할 수 있다.
1 2 3 4 5 6 7 8
| $ sudo mysql -u root -p
> select @@datadir; + | @@datadir | + | /data/ | +
|
rsync 로 복사한 실제 데이터들은 각 스키마에서 확인해 보자.