728x90
SMALL
1. 작성하게 된 계기
데이터베이스 즉, 용량크기가 큰 서버는 특정 서버만 접속할 수 있도록 되어 있는 상태이다.
이때 특정서버에서 MySQL을 구동중인데 해당 서버는 사실 db를 실행하는데는 맞지 않는 서버이다.
(물론 기본적인 서버들보다 사양이 좋기때문에 용량이 이미 크다.)
그래서 용량크기가 큰 서버에 mount를 하고
해당 경로로 MySQL의 저장 경로를 설정하고자 한다.
그래서 결론은 MySQL 데이터 저장하는 경로 수정하기
2. MySQL 저장 경로 변경 방법
가정
- 기존 저장 경로 : /var/lib/mysql
- 신규 저장 경로 : /storage/mysql (원하는대로 설정)
- 신규 저장 경로 생성
sudo mkdir -p /storage/mysql
- 기존 저장 경로의 파일들을 신규 저장 경로로 복사
sudo cp -r /var/lib/mysql/* /storage/mysql/
- 신규 저장 경로에 권한 부여
sudo chown -R mysql:mysql /storage/mysql
- MySQL 서비스 정지
sudo service mysql stop
- 설정 경로로 백업하기 (설정 경로 : /etc/mysql/mysql.conf.d/mysqld.back)
sudo cp -r /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.back
- 설정파일 datadir 경로 신규 저장경로로 수정
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
- 실제 mysql 경로는 삭제하고 backup 해두기
cd /var/lib
sudo cp -r /var/lib/mysql/ /var/lib/mysql-back
sudo rm -r /var/lib/mysql
- /var/lib/mysql과 설정 경로를 심볼릭 링크로 연결
sudo ln -s /storage/mysql /var/lib/mysql
sudo chown -R mysql:mysql /var/lib/mysql
- 마찬가지로 백업 후 usr.sbin.mysqld 파일 수정
cd /etc/apparmor.d
sudo cp -r ./usr.sbin.mysqld ./usr.sbin.mysqld.back
sudo vi usr.sbin.mysqld
- 신규 저장 경로로 alias 변경 (alias /var/ib/mysql/ -> /storage/mysql/,)
cd /etc/apparmor.d/tunables
sudo vi ./alias
- apparmor profiles를 reload
sudo /etc/init.d/apparmor reload
- 마지막으로 mysql start
sudo service mysql start
728x90
LIST
'Come on IT > DataBase' 카테고리의 다른 글
Redis 메모리 설정 및 정리 (feat. maxmemory 및 최적화) (0) | 2024.07.16 |
---|---|
MySQL 외부접속 권한 설정 (0) | 2024.02.02 |
ubuntu mysql 설치 및 초기 세팅 (0) | 2024.02.02 |
django-mysql 연결 시 django.db.utils.OperationalError 오류해결 (0) | 2024.01.22 |
mysql '/var/lib/mysql/': Operation not permitted 에러 해결 (0) | 2024.01.21 |