2009-10-22 4 views
1

몇 달 전 질문했습니다 a question regarding how to change database location at runtime - 아직이 문제에 대한 해결책을 얻지 못했습니다.새로운 데이터베이스 위치로 데이터베이스를 생성하십시오

MySQL에서 32,000 개 이상의 데이터베이스를 생성해야합니다. 해당 위치에 32,000 데이터베이스를 만든 후 MySQL 데이터 폴더의 기본 데이터 위치, 다른 위치로 데이터 디렉토리를 변경하고 싶습니다. Java 코드를 통해이 작업을 수행 할 계획입니다.

하지만 그 전에 누구나 가능하다고 말할 수 있습니까?

정말 이것을 요구 사항으로 구현해야합니다. 이걸 도와주세요.

불편을 끼쳐 드려 죄송합니다. 더 자세한 정보가 필요하면 알려주십시오.

+2

내가 틀렸다면 정정 하겠지만 기본 MySQL DB 디렉토리에 32,000 개의 데이터베이스를 만들고 싶지만 다른 디렉토리에 다른 데이터베이스를 모두 만들고 싶습니까? MySQL을 다시 컴파일하지 않고 이것이 가능하다고 생각하지 않습니다. –

+0

나는 당신이하려고하는 것을 이해한다고 생각하지만 ... 진지하게, 왜 그렇게하고 싶습니까? – ty812

+0

안녕하세요 lan과 마틴, 예를 들어, 나는 32000 데이터베이스를 기본 mysql db 디렉토리 또는 32000 이상으로 만들고 싶습니다. MySQL을 다시 컴파일하지 않아도됩니다. 서버가 다운 될 수 없기 때문입니다. 그리고 예 마틴 나는 그것을 할 필요가 있습니다. 어떤 방법으로도 나를 도와 줄거야. –

답변

0

소리가 어렵습니다. 나는 왜 32000 - mysql이 그것보다 많은 데이터베이스를 생성하는 것을 거부하는지 이해하지 못한다. 어떤 오류가 발생합니까? 임의로 보입니다 - 어쩌면 이것이 변경 될 수있는 구성 변수입니까?

몇 가지 가능성이 있습니다. 각각 다른 데이터 디렉토리가있는 more than one mysql server을 실행할 수 있습니다. 도움이 될 것 같지 않지만 NDB 스토리지 엔진을 살펴볼 수도 있습니다. tablespaces을 처리하여 여러 위치에 데이터를 저장할 수 있습니다.

+0

안녕 Keith, 그것의 제한은 없지만 폴더 제한에 대한 제한이있다. OS 레벨에 있습니다. 나는 그 DB들을 NDB에 보관할 수 없다. –

+0

FAT32 파일 시스템을 사용하고 있습니까? 그것은 고대 기술입니다. 현대의 파일 시스템은 디렉토리에있는 항목보다 더 많은 항목을 가질 수 있습니다 (Windows의 경우 NTFS, Linux 및 Mac의 경우 모든 항목). –

+0

아니요 FAT32 파일 시스템을 사용하고 있지 않습니다. –

0

여러 파티션을 만들고 LVM을 사용하여 파티션에 가입 할 수 있습니다 (Linux의 경우). 파티션을 DATADIR 경로에 마운트하십시오. 또한 데이터베이스를 다른 폴더/파티션으로 이동 한 소프트 링크를 사용할 수 있습니다.

MySQL은 단 하나의 DATADIR 만 지원하지만, InnoDB 테이블은 경로를 구분할 수있는 곳으로 보입니다. 이것 좀 봐 줄래?

관련 문제