MariaDb 10/ MySQL 8 - data 디렉토리 변경 (Ubuntu)
data 폴더 위치를 변경해 이동한다.
- 여기서는 MariaDB 를 사용하고 있다.
- rsync 를 사용해서 복사한다.
위치 이동
my.cnf
에 있는 기본 디렉토리를 /data
폴더로 변경하고 적용한다.
- 기본 data 디레토리 확인
my.cnf 에서 datadir 로 지정된 항목을 찾아 보자.
1 | grep datadir /etc/mysql/mariadb.conf.d/* |
기본으로 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 | grep mysql /etc/passwd |
소유권을 mysql 사용자로 변경한다.
1 | sudo chown -R mysql:mysql /data |
- data 이동
rsync 를 사용해서 /var/lib/mysql 데이터를 /data 아래로 복사한다.
1 | sudo rsync -avzph /var/lib/mysql/ /data/ |
- mysqld 데몬을 재시작하고 확인한다.
1 | sudo systemctl restart mysql |
데이터베이스에 접속해 데이터를 확인해 보자. @@datadir
환경변수를 출력해서 /data 가 출력되면 my.cnf 의 설정이 잘 구성된 상태를 확인할 수 있다.
1 | $ sudo mysql -u root -p |
rsync 로 복사한 실제 데이터들은 각 스키마에서 확인해 보자.
MariaDb 10/ MySQL 8 - data 디렉토리 변경 (Ubuntu)
https://blog.thinkbee.kr/mariadb-data_dir_change-878fcb84a58d/