반응형

연구실에서 정부과제 용으로 특허데이터를 활용한 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

+ Recent posts