연구실에서 정부과제 용으로 특허데이터를 활용한 DB 구성 중 데이터가 꽉차서 더이상 저장할 수 없는 문제가 발생되었다.
이 문제를 해결하기 위해 인터넷을 여기저기 뒤졌지만, 확실한 해답이 나와있는 글들은 찾을 수 없었다.
결국, 별의별 짓을 다해보다가 드디어 해답을 찾게 되었다. Mysql에서 Data의 저장소를 변경하고자 하는 사람들이 있다면
나의 글을 참조하여 많은 도움이 되었으면 한다.
[1] Data Full 이 되었을때 발생되는 에러
111215 22:30:15 [ERROR] /usr/sbin/mysqld: Disk is full writing './patent_trend/#sql-6aba_52c.MYD' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space) |
위와 같이 Disk Full Error가 발생하게 되면 현재 /var/lib/mysql 안의 데이터의 저장공간이 꽉차있다는 것이다.
[2] 개발환경
환경 구분 |
개발환경 |
운영체제 (os) |
Ubuntu 11.04 |
Mysql Version |
5.1.54 |
DB Engine |
My Isam, InnoDB 혼합형 |
[3] Mysql 저장소 변경 실시
(1) Mysql Daemon Stop
user_id$ sudo /etc/init.d/mysql stop |
(2) 기존 Physical Repository Copy
user_id$ sudo cp -Rp /var/lib/mysql /새로운 경로/mysql_repository |
(3) Mysql 보안모듈 내 경로 수정(apparmor.d)
user_id$ vi /etc/apparmor.d/usr.sbin.mysqld (기존 Link 정보를 주석처리한다) # /var/lib/mysql/ r, # /var/lib/mysql/** rwk, (새로운 경로를 추가한다) /새로운경로/.mysqldb r, /새로운경로/.mysqldb/** rwk, |
(4) Mysql 설정파일 수정 (my.cnf)
user_id$ sudo vi /etc/mysql/my.cnf (Add)
datadir = /새로운경로/mysql_repository |
(5) 보안모듈 및 Mysql 재시작
user_id$ sudo /etc/init.d/apparmor restart user_id$ sudo /etc/init.d/mysql restart |
이상이다. 위 예제는 Debian 계열의 Ubuntu Server에서 진행한 사항이기 떄문에 Pedora나 CentOS 와 같은
타 OS에서는 정상적으로 구동될지 의문이다. 하지만 Ubuntu에서는 100% 호환되기 떄문에 참고하길 바란다.
참조 사이트 :
http://www.ubuntu.or.kr/viewtopic.php?p=58100
http://www.ubuntu.or.kr/viewtopic.php?p=80681
- 2012.12.31 2012년의 마지막날 랑이씀 -
'DB > Maria & Mysql' 카테고리의 다른 글
Maria DB 설치 후기 (3) | 2013.12.04 |
---|---|
MS-SQL 주석달기 (0) | 2013.08.28 |
MYSQL 자주쓰는 명령어 (0) | 2012.09.10 |
[ MYSQL PROCESS LIST 보기 ] (0) | 2011.12.27 |
PK & UI 무엇이 올바른가? (0) | 2011.01.31 |