2009-09-07 4 views
4

단일 mysql 테이블의 크기 (디스크 크기/행)를 제한 할 수 있습니까?mysql 테이블의 크기 제한

가능하지 않은 경우 하나의 물리적 컴퓨터에서 여러 개의 MySQL 엔진을 실행하는 가장 쉬운 방법은 무엇입니까? (나의 계획은 하나의 mysql 인스턴스의 데이터 파일을 별도의 디스크 파티션으로 설정하는 것이다.)

+0

어떤 플랫폼입니까? 리눅스, 윈도우, * BSD ... – LiraNuna

+0

윈도우와 리눅스. – ripper234

답변

0

비교적 적은 양의 데이터가있는 경우 MEMORY 스토리지 엔진을 사용하여 테이블을 만들 수 있습니다. 그건 구성 할 수 size limit,하지만 물론 당신은 상자에 사용 가능한 메모리의 양에 의해 제한이야.

데이터 크기에 디스크 기반 테이블이 필요한 경우 테이블 크기를 제한하는 한 가지 방법은 테이블의 일부를 정기적으로 제거하는 작업을 실행하는 것입니다. 이것은 아마도 작은 파티션을 사용하는 것보다 나은 옵션 일 것입니다 - 많은 MySQL 명령은 디스크가 꽉 차있을 때 제대로 동작하지 않습니다.

또한 컴퓨터에서 원하는만큼 많은 MySQL 인스턴스를 실행할 수 있습니다. TCP/IP를 통해 연결하는 경우 각 포트마다 다른 포트 번호를 지정하기 만하면됩니다.

+0

한 테이블 (예 : 로깅)의 오버플로가 다른 테이블의 성능을 저해하지 않는지 확인하기 위해 엄격한 제한이 필요합니다. – ripper234

0

압축 된 테이블을 만드는 myisampack 유틸리티를 사용할 수 있습니다 (MyISAM 엔진에만 해당). 테이블은 정적 데이터 유형으로 읽기 전용이됩니다.

0

만약 MyISAM 테이블이라면, 장난감은 데이터 파일과 인덱스 파일이 저장 될 디렉토리를 지정할 수 있습니다. 는 UI에 따르면

:
Data Directory: ___________________ Directory where to put the tables data file 
Index Directory: __________________ Directory where to put the tables index file 

This works only for MyISAM tables and not on some operating systems (Windows) 

그래서 내가 그건 당신이 Windows 호스트에하지 않으면 당신이 테이블에 대한 파일을 이동할 수 있음을 의미 같아요.

1

스키마 당 제한을 적용한다는 점을 제외하고는 Question #1561612과 매우 유사합니다. 불행히도이 작업을 수행하는 데 실제로 지원되는 방법이 없습니다. 거기에있는 답을보고 그들이 당신의 질문에 대답하는지보십시오.

0

할당량을 적용하려면 on this site이 아마도 내가 겪어 본 소리 중 가장 큰 소리라고 생각되는 접근 방식이 몇 가지 있습니다.

mysql을 다른 데이터 디렉토리로 지정하려면 리눅스 설정에 심볼릭 링크를 넣거나 설정 파일을 사용해보십시오. MySQL은이 conf 파일을 통해 데이터베이스 파일이 저장되는 위치를 지정하게합니다. for windows setup 또는 my.cnf에 대한 정보를 검색하십시오.

자택에 가장 좋으므로 나는 잠자리에들 것입니다.

1
  1. 쿼터 : MySQL에서 직접 지원하지 않습니다. 사용자에게 파일 소유권을 설정하고 OS 수준에서 사용자 당 할당량을 설정하여 사용자 별 인용을 지원하는 파일 시스템을 사용하여 무언가를 에뮬레이션 할 수 있습니다. 기본적으로 InnoDB는 모든 데이터베이스에 단일 테이블 파일을 사용하지만, file per table을 사용하도록 지정하는 옵션이 있습니다. 그러나 성능에 영향을 미칠 수 있습니다.
  2. 동일한 시스템에서 여러 인스턴스를 실행하는 것은 각 서버마다 다른 구성 파일을 사용하여 수행 할 수 있습니다.
  3. 아주 최소한, 당신은 사용자에게 사용자의에서 그 변경하기를 원할 것입니다

하십시오 단절을 시작

[mysqld] 
port=PORT_NUMBER 
datadir=/home/USER/mysql 
tmpdir=/home/USER/tmp/mysql 

을 실행

mysqld_safe --defaults-file=user_specific_my.cnf 

는 서버를 중지, 실행 :

mysqladmin -u root -pROOT_PASSWORD --port=3307 -h 127.0.0.1 shutdown 

서버에 연결하려면 다음을 사용해야합니다.

mysql --port=USER_PORT -h 127.0.0.1 -pPASSWORD