본문 바로가기
개발 관련

mysql 데이터 파일 저장 위치 바꾸기

by 조이플워니 2019. 2. 14.

mysql 데이터 파일 저장 위치 바꾸기

mysql data directory 바꾸기... 매번 찾기 귀찮기도하고... 

안되는 것도 많다.. 

=================================================

개발 환경 CentOS 7 + MariaDB (Ver 15.1 Distrib 10.1.37-MariaDB )

=================================================


1. MARIADB 설치

yum install mariadb-server mariadb -y
systemctl status mariadb
systemctl enable mariadb


2. 현재 설치 위치 확인

<< Mysql 에서... 실행 >>

select @@datadir;

-----------------------------------------------------
그럼 아마도 --> /var/lib/mysql  요렇게 나옴


3. 그럼 설정파일 변경 

sudo vi /etc/my.cnf

[mysqld]
# datadir=/var/lib/mysql
datadir=/home/mysql_data
# socket=/var/lib/mysql/mysql.sock
socket=/home/mysql_data/mysql.sock
   
[client]
socket=/home/mysql_data/mysql.sock

///////////////////////////////////////////////////////////////////////////////////////////////////////////

우리 서버 같은경우는 

vi /etc/my.cnf.d/server.cnf 수정

[mysqld]
collation-server=utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
datadir=/home/mysql

소켓은 필요 없었음.... 


4. DIR 변경

cp -rfp /var/lib/mysql/* /home/mysql/ 

--> 파일 목적지로 복사하고 

mv /var/lib/mysql /var/lib/mysql.back 

--> 기존꺼 백업 하고 

ln -sf /home/mysql /var/lib/mysql

--> 혹시 모르니 원래 자리에 링크 걸고... 


5. SELinux 권한 설정

semanage fcontext -a -t mysqld_db_t "/home/mysql(/.*)?"

--> 왜 하는지 모르겠으나... 잘 모를땐 따라하기...


여기서... semanage 가 -bash: semanage: command not found 에러가 나는 경우는 아래와 같이 설치.. 

5-1 yum provides /usr/sbin/semanage

5-2 yum install policycoreutils-python

이렇게 하면 semanage fcontext -a -t mysqld_db_t "/home/mysql(/.*)?" 요게 실행 잘 됨


요거도 해주고...

restorecon -R /home/mysql

마지막으로 재시작 하면 

systemctl restart mysql

잘댐 ㅋㅋㅋㅋ

참고 : 

'개발 관련' 카테고리의 다른 글

encode / decode 변환 사이트  (0) 2019.04.10
URL 인코딩 표  (0) 2019.02.19
php csv 다운로드 시 한글 깨짐  (2) 2018.06.18
php (mobile) - input image  (0) 2017.02.06
정규식 !!! 이렇게 좋은것이었다니...  (0) 2016.10.07

댓글