About Data/DB

[Linux][Mysql] DB 경로 변경 방법

Tradgineer 2020. 2. 4. 16:39

 

 [ 작업 환경 ]

 - Centos 7.5

 - Mysqld 5.7

 

 

Centos 7 버전에서 mysql 설치 방법은 아래 링크 게시글 참조

https://growingsaja.tistory.com/39

 

 

 

1. rsync 설치

yum install rsync

 

 

 

2. 데이터 디렉터리 위치 확인

mysql -u root -p
select @@datadir;

필자 환경의 경우

/var/lib/mysql/

로 설정되어있습니다.

 

 

 

3. mysqld 정지

systemctl stop mysqld

 

 

 

4. 기존 경로에서 신규 경로로 복사

필자의 경우 기존 경로인 /var/lib/mysql 에서 /DB/ 로 copy했습니다.

rsync -av /var/lib/mysql* /DB/

-av 옵션의 a는 archive mode로, -r, -t(타입스탬프 보존), -l (심볼릭 링크 보존), -p(permission 보존), -g(g그룹 보존), -o(소유자 보존 - root 만 가능),  -D(device, special 파일 보존)과 동일합니다.

v는 verbose로, 자세한 내용을 출력한다는 의미입니다.

 

 

 

5. data dir 위치 및 socket 위치 설정 변경 및 적용

# vim /etc/my.cnf


[mysqld]

datadir=/DB
socket=/DB/mysql.sock


[client]
socket=/DB/mysql.sock

systemctl start mysqld

 

 

 

6. 현재 DB의 데이터디렉터리 확인

mysql -u root -p
select @@datadir;

만약 아래와 같은 문구 발생되면서 로그인 실패시, 임시 비밀번호가 발급된 것이므로 확인 필요합니다.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

     ㄴ> 임시 비밀번호 확인하여 입력 필요

cat /var/log/mysqld.log |grep "A temporary password is generated for root@localhost"

 

 

 

7. 정상적으로 잘 되는지 확인

mysql 내에서 Darabase, Table, Insert 등을 통해 정상인지 확인합니다.

서버 재부팅 후 정상 작동하는지 확인합니다.