blog.naver.com/PostView.nhn?blogId=kimmingul&logNo=221435631031
[출처] [MariaDB] MariaDB의 Data 위치 변경하기 (CentOS 7 기준)|작성자 김민걸
SSD가 128GB밖에 안되어서 하드 장착 후 마운트된 폴더로 디렉토리 지정 성공
블로거님께 감사합니다!
ubuntu 18.04, mariadb 10.5 버전에 설치 완료
1) MariaDB 의 data 위치 확인
mysql -u root -p
로 mariadb에 접속한 후, (보안설정 안했을 시 mysql만 입력)
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
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.01 sec)
MariaDB [(none)]>
1) MariaDB 서비스 정지
sudo systemctl stop mariadb
2) 새로운 Data 디렉토리 생성 및 데이터 복사하기
(Data 디렉토리를 /home/data/mysql 로 한다는 가정 하에)
sudo mkdir /home/data/
sudo rsync -av /var/lib/mysql /home/data/
sudo chown -R mysql:mysql /home/data/mysql
3) my.cnf 파일을 수정하여 MariaDB의 data 디렉토리 경로 변경
sudo vi /etc/my.cnf
[mysqld] datadir=/home/data/mysql socket=/home/data/mysql/mysql.sock
[client] socket=/home/data/mysql/mysql.sock
#symbolic-links=0 #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES |
4) SELinux 보안 context 추가 및 서비스 시작
sudo semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
sudo restorecon -R /data/mysql
sudo systemctl start mysql
5) 변경된 data 디렉토리 확인하기
mysql -u root -p
로 mariadb에 접속한 후,
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
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 |
+-------------------+
| /home/data/mysql/ |
+-------------------+
1 row in set (0.01 sec)
MariaDB [(none)]>
6) 기존 data 디렉토리 삭제하기
sudo rm -R /var/lib/mysql
삭제한 후, 하드디스크의 저장용량 확인은 df 로.
df
[출처] [MariaDB] MariaDB의 Data 위치 변경하기 (CentOS 7 기준)|작성자 김민걸
아 근데... 하다가
Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details. 오류 ? 무엇..
journalctl -xe 를 쳐보니
"MariaDB can't create test file lower-test"오류가 났었어요
해당사항은
systemctl daemon-reload
systemctl start mysql
입력 후
동일증상 시
vi /lib/systemd/system/mariadb.service
에서 ProtectHome=true 부분을 false로 변경 후
systemctl daemon-reload
systemctl start mysql
입력으로 해결
+-------------------+
| @@datadir |
+-------------------+
| /home/data/mysql/ |
+-------------------+
정상적으로 변경 되었습니다.
'Programing > Database' 카테고리의 다른 글
[oracle] 문서를 보고 따라하기 (0) | 2021.05.03 |
---|---|
[MariaDB] 오늘의 삽질 - root 계정을 날려먹다 (0) | 2021.02.09 |
[MariaDB] Dummy Data 대량으로 만들기 (1) | 2020.11.04 |
SQL SELECT 텍스트 조건식 반영 (0) | 2020.10.22 |
Oracle DB 계정 추가 및 권한 생성 (0) | 2020.05.13 |