티스토리 뷰
728x90
반응형
MYSQL에서 데이터가 쌓이는 경로를 바꾸는 방법입니다.
아마도 이 방법을 사용하시는 분들은 현재 mysql 데이터가 쌓이는 파티션에 디스크 용량이 가득차서 바꾸는 경우가 많으실겁니다.
1) 먼저, 실행중인 웹서버와 MYSQL을 중지 합니다.
2) /usr/local/mysql/data 를 원하는 곳(파티션)으로 복사합니다.
아마 /usr/local/mysql 경로에 mysql을 설치하셨다면
mysql에 쌓이는 데이터는
/usr/local/mysql/data/DB명 폴더에 저장됩니다.
이 폴더를 통째로 원하는 곳으로 복사합니다.
* 여기서 반드시 주의하셔야 할것은 새로 옮기는 폴더의 소유자가 mysql 계정이어야 합니다.
chown 명령어를 통해 특정 폴더의 소유자를 mysql로 변경합니다.
3) my.cnf 추가
이제 새로 옮긴 데이터 경로를 입력해줘야 합니다.
mysql의 환경설정이 담겨 있는 my.cnf 파일을 수정해야 합니다.
my.cnf 파일을 열어보세요.
아마도 기본설치 하여 datadir을 바꾸지 않으셨다면
datadir 이라는 항목이 없을텐데 직접 추가해서 넣으시면 됩니다.
자 이제 완료되었습니다.
/etc/init.d/mysqld 파일에 별다른 수정을 하지 않으셨다면
my.cnf 파일의 변경 만으로도 데이터 경로가 바뀌어 적용됩니다.
이제 mysql 과 웹서버를 실행하시면 됩니다.
만약 경로가 바뀌지 않는다면
여러분들의 mysql 실행 스크립트에 datadir을 설정하는 내용이 포함되어있지는 않은지 확인해보세요.
/etc/init.d/mysqld, /etc/rc.d/init.d/mysql 과 같은 폴더의 스크립트를 확인해보세요.
위 작업을 마치고 mysql을 실행중에 아래와 같이 에러가 난다면
error code 13 에러가 난다면 아마도 여러분은 새로 변경한 폴더의 소유주가 mysql로 되어있는지 다시 확인해보세요.
또는 permission을 확인해보세요.
아마도 이 방법을 사용하시는 분들은 현재 mysql 데이터가 쌓이는 파티션에 디스크 용량이 가득차서 바꾸는 경우가 많으실겁니다.
1) 먼저, 실행중인 웹서버와 MYSQL을 중지 합니다.
2) /usr/local/mysql/data 를 원하는 곳(파티션)으로 복사합니다.
아마 /usr/local/mysql 경로에 mysql을 설치하셨다면
mysql에 쌓이는 데이터는
/usr/local/mysql/data/DB명 폴더에 저장됩니다.
이 폴더를 통째로 원하는 곳으로 복사합니다.
[root@node2 data]# cp -a /usr/local/mysql/data/* ./
* 여기서 반드시 주의하셔야 할것은 새로 옮기는 폴더의 소유자가 mysql 계정이어야 합니다.
chown 명령어를 통해 특정 폴더의 소유자를 mysql로 변경합니다.
chown mysql.mysql /home/test/mysql/data
3) my.cnf 추가
이제 새로 옮긴 데이터 경로를 입력해줘야 합니다.
mysql의 환경설정이 담겨 있는 my.cnf 파일을 수정해야 합니다.
my.cnf 파일을 열어보세요.
[mysqld]
datadir=/home/test/mysql/data
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 384M
아마도 기본설치 하여 datadir을 바꾸지 않으셨다면
datadir 이라는 항목이 없을텐데 직접 추가해서 넣으시면 됩니다.
자 이제 완료되었습니다.
/etc/init.d/mysqld 파일에 별다른 수정을 하지 않으셨다면
my.cnf 파일의 변경 만으로도 데이터 경로가 바뀌어 적용됩니다.
이제 mysql 과 웹서버를 실행하시면 됩니다.
만약 경로가 바뀌지 않는다면
여러분들의 mysql 실행 스크립트에 datadir을 설정하는 내용이 포함되어있지는 않은지 확인해보세요.
/etc/init.d/mysqld, /etc/rc.d/init.d/mysql 과 같은 폴더의 스크립트를 확인해보세요.
위 작업을 마치고 mysql을 실행중에 아래와 같이 에러가 난다면
111213 20:34:12 mysqld started
111213 20:34:12 InnoDB: Started; log sequence number 0 3761569
^G/usr/local/mysql/libexec/mysqld: File './mysql-bin.000022' not found (Errcode: 13)
111213 20:34:12 [ERROR] Could not use mysql-bin for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
111213 20:34:12 [ERROR] Aborting
error code 13 에러가 난다면 아마도 여러분은 새로 변경한 폴더의 소유주가 mysql로 되어있는지 다시 확인해보세요.
또는 permission을 확인해보세요.
728x90
반응형
'WEB2.0 > 프로그래밍' 카테고리의 다른 글
모니터링에 유용한 리눅스 명령어 watch (0) | 2012.01.17 |
---|---|
mysql 운영팁. 느린 쿼리를 발견하기 (0) | 2012.01.09 |
서울시 모바일 공공정보 Open API 서비스가 오픈하였습니다 (0) | 2011.11.29 |
구글 인증 API 사용할때 captcha가 나타나십니까? (0) | 2011.11.15 |
IIS5에서 별다른 확장모듈 설치 없이 rewrite 흉내내기 (0) | 2011.06.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- iPhone
- 앱스토어
- 구글
- php
- 앱
- 대학생
- 자바스크립트
- Apple
- 안드로이드
- 아이디어
- 소프트웨어
- 애플
- JavaScript
- android
- 네이버
- 어플리케이션
- 스마트폰
- 경진대회
- 벤처
- 공모전
- CSS
- 웹표준
- AWS
- 게임
- 창업
- 모바일
- 트위터
- 아이폰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함