==========================================================
출처 : https://m.blog.naver.com/PostView.nhn?blogId=neat98&logNo=120209381317&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
==========================================================
상용 서버의 환경 설정을 보니,
innodb_file_per_table 는 OFF 이고,
innodb_data_file_path 는 ibdata1:10M:autoextend
이렇게 설정 되어 있다.
최악이다.
즉, 한파일에 유저 데이터를 다 쓰고, 4G 넘어가면 이슈가 터질 것이다.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
흠흠…
매뉴얼에 4G 한계에 대해 써 있다는데, OS에서 지원 되면 상관 없단다.
[출처]
흠흠… 믿어도 될까..? 일단, 성능 관련 옵션은 넣었으니..
아래 내용 폭파 하고 갈때 까지 가 보자.. 실험 정신 ㅡ.ㅡ;;
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
개발기에서 바꿔 본것 적용해 보자…. 3Gbyte 넘기 전에…
1. mysqldump 를 이용해 다시 만들 database 를 백업 한다.
#mysqldump -uxxx -pxxx DataBaseName > ExportFileName.sql
2. 데이터 관리 디렉토리를 루트에 따로 만들자.. (내맘)
#mkdir /MYSQL_DATA
#chown mysql:mysql /MYSQL_DATA
3. 기존에 있던 기본 데이터를 복사해 온다.
#cd /MYSQL_DATA
#cp -a /var/lib/mysql ./
4.복사해 온 기존에 데이터와 로그 파일을 지운다.
#rm -rf DataBasesName
#rm ibdata*
#rm ib_logfile*
5. my.cnf 를 수정 한다.
#vi /etc/mysql/my.cnf (실 서버 경로 다를 수 있다)
[mysqld]
…
#—성능 튜닝 빼먹은것들..이 글 주제와 관련없음—
#넣기 전에 상용에 설정 된거 있는지 검색해 볼것…
skip-name-resolve
# connection miss 가 클때만 (1%이상) 길게 잡을것
wait_timeout = 120
#총 메모리 25%. (상용은 좀 더 크게 가능 하겠다.)
key_buffer_size = 1024M
# 메모리의 80% 까지 잡아 놓을 수 있으나 너무 크면 페이징 발생. (상용은 좀 더 크게 가능 하겠다.)
innodb_buffer_pool_size=4096M
#———————————————-
…
#datadir = /var/lib/mysql #기존거 주석, 경로 바꿔준다.
datadir = /MYSQL_DATA
###innodb data dir ################
innodb_data_home_dir =/MYSQL_DATA
#상용 서버에 맞게 용량 크게 설정 하자…
innodb_data_file_path=ibdata1:1500M;ibdata2:1500M;ibdata3:1500M;ibdata4:1000M:autoextend
# 이 값이 1 이면, 테이블 당 1개씩 ibd 파일이 생성되나, data_file_path 옵션이 무시 된단다..
innodb_file_per_table=0
6. 우분투 니까 apparmor 도 바꿔준다.
#vi /etc/apparmor.d/usr.sbin.mysqld
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
를 찾아서 변경한 디렉토리로 바꿔 준다.
/MYSQL_DATA/ r,
/MYSQL_DATA/** rwk,
저장 하고 나와서 apparmor 리로드
#/etc/init.d/apparmor restart
7. mysql 재시작
#/etc/init.d/mysql restart
8. 잘 올라오면 처음에 백업한 데이터 밀어 넣기
8-1. Database 생성
#mysql -u root -p
mysql>create database DataBaseName;
8-2. Data import
#mysql -u xxx -p DataBaseName < DataBaseName.sql
여분… 잘 되는지 확인 한 후,
/var/lib/mysql 여기 가서 쓰래기가 된 파일들 날려 버릴것….
==========================================================
출처 : https://m.blog.naver.com/PostView.nhn?blogId=neat98&logNo=120209381317&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
==========================================================