2014-09-02 2 views
0

저는 비교적 MySQL에 익숙하지 않습니다.
내가하려는 것은 동일한 데이터베이스에 두 개의 서로 다른 SCHEMAS를 갖는 것입니다. - 사실이 경우 용어와 혼동스러워. 그래서 내가 너에게 전체 그림을 그리게 해줘.동일한 데이터베이스의 스키마 두 개 MySQL

저는 위험 수학 모델을 실행하고있는 데이터베이스 (예 : financial)가 있습니다. 그래서 컴퓨터에 데이터베이스를로드하고 다른 프로그램으로 데이터베이스를 조작합니다.
모델을 테스트하기 위해 나는 지난 번에 그 데이터베이스의 이전 백업을로드하고 내가 과거에 살았던 것처럼 모델을 실행 한 다음 이번 달의 데이터로 테스트해야합니다.

내가 이해 한대로,이 백업은 이미 사용하고 있던 데이터베이스를 대체했습니다. 그리고 이것은 나에게 최적이 아니므로, 같은 데이터베이스의 현재 버전을 다시로드해야하기 때문에. 이상적으로는 매번 컴퓨터를 다시로드하는 대신 내 컴퓨터에 저장하고 다른 컴퓨터로 전환하는 것이 이상적입니다.

누구든지 나에게 약간의 지침을 줄 수 있다면, 고맙겠습니다. 좋은 하루 보내십시오.

+0

['RENAME DATABASE'] (http://dev.mysql.com/doc/refman/5.1/en/rename-database.html). "생존"하고 "devel"하고 그들 사이의 이름을 바꾸십시오. 앱은 항상 같은 이름을 사용합니다. 실제로 이름이 바뀌면 실제로 어떤 데이터베이스가 변경됩니다. –

+0

당신은 point-in-time 아키텍쳐를보고 싶을지도 모르지만 그런 것들이 나의 급료 등급 이상입니다. – Strawberry

+0

@MarcB 내가 할 수있는 수준 (스키마, 데이터베이스)은 무엇입니까? 내 클라이언트 (Workbench)에서 두 개의 연결을 작성했지만 하나의 연결에서 하나의 백업을로드하면 다른 연결에서 데이터가 수정됩니다. – Diego

답변

2

첫 번째 : databaseschema은 같습니다. 둘 다 상호 교환 가능합니다 (MySQL에서). 스키마는 데이터베이스 서버에 속한 다른 모든 db 오브젝트를 포함하는 데이터베이스 서버의 최상위 레벨 구조입니다.

동일한 서버 (데이터베이스가 아닌 서버에 대한 연결을 만들고 있음)에 2 개의 연결을 생성하면 어떤 연결을 선택하든 동일한 개체와 따라서 동일한 데이터에 액세스하게됩니다. 따라서 귀하의 경우에는 도움이되지 않습니다.

제안 된대로 많은 스키마를 가질 수 있습니다 (예 : 개발 스키마 및 procution 스키마). 두 데이터베이스는 동일한 데이터베이스 서버에 저장 될 수 있으며 정확히 동일한 컨텐츠를 포함 할 수 있습니다. 덤프를 사용하면 테스트 할 다른 스키마를 작성할 수 있습니다. MySQL Workbench는 덤프 파일에 명시된 것과 다른 스키마로이를 복원 할 수 있습니다. 당신이 순간에 작업 할 일이있다 있도록

  1. 하는 당신에게 스키마의 이름을 바꿉니다

    enter image description here

    이제, 현재와 이전 데이터를 전환하기 위해 당신은 2 가지 옵션이 있습니다 응용 프로그램에서 사용되는 표준 이름.

  2. 이 설정을 통해 데이터베이스/스키마 이름을 그대로 사용하는 응용 프로그램이 구성 확인, 명령 줄 PARAMS 등

두 번째는 (더 스키마에) 더 히스토리 데이터를 가지고 시작 특히, 분명히 더 유연합니다.

+0

이것은 나를 위해 그것을했다. 감사. – Diego

관련 문제