2013-09-24 4 views
0

기존 호스팅 된 MySQL 데이터베이스가있는 Joomla (PHP) 웹 사이트가 있습니다. 몇 가지 통계 데이터가 포함 된 Google Cloud SQL 인스턴스가 있습니다.Google Cloud SQL에서 페더레이션 테이블을 만드는 방법

두 데이터베이스에서 데이터를 쿼리해야하며 Google Cloud SQL 인스턴스에서 쿼리를 실행하고 싶습니다.

지금까지 필자의 연구 결과에 따르면 Google Cloud SQL 데이터베이스 내에 페더레이션 테이블을 만드는 것이 가장 좋은 방법이라는 것을 알았지 만이를 수행하기 위해 내가 예상 한 결과를 얻지 못했습니다.

CREATE TABLE test_table (
    id INT(20) NOT NULL AUTO_INCREMENT, 
    name VARCHAR(32) NOT NULL DEFAULT '', 
    other INT(20) NOT NULL DEFAULT '0', 
    PRIMARY KEY (id), 
    INDEX name (name), 
    INDEX other_key (other) 
) 
ENGINE=MyISAM 
DEFAULT CHARSET=latin1; 

Google 클라우드 SQL :

CREATE TABLE federated_table (
    id INT(20) NOT NULL AUTO_INCREMENT, 
    name VARCHAR(32) NOT NULL DEFAULT '', 
    other INT(20) NOT NULL DEFAULT '0', 
    PRIMARY KEY (id), 
    INDEX name (name), 
    INDEX other_key (other) 
) 
ENGINE=FEDERATED 
DEFAULT CHARSET=latin1 
CONNECTION='mysql://*uid*:*pwd*@*joomla_server_ip*:3306/*database_name*/test_table'; 

오류?!)

줌라 MySQL의 테이블을 받고

*uid*, *pwd*, *joomla_server_ip* and *database_name* 

모두 올바른 값입니다.

양쪽 문 모두 오류없이 실행되지만 Joomla에서 * test_table *에 데이터를 삽입 한 후 Google Cloud SQL에서 * federated_table *의 데이터를 볼 수 없습니다.

명령 행 도구 (Windows) 및 SQuirrel SQL JDBC 클라이언트를 사용하여 연합 테이블 작성을 시도했습니다.

문제가 Joomla 데이터베이스 끝에 있는지 또는 Google Cloud SQL 데이터베이스 끝에 있는지 알 수 없으므로 오류가 표시되지 않습니다. 그래서 어떤 도움을 주시면 감사하겠습니다. 나는이 문제가 두 데이터베이스 사이의 연결이라고 가정하고 있지만, 다른 어떤 시도를 시도해 볼 수는있다.

편집 :

지금 (MySQL의 워크 벤치)를 연결하는 다른 클라이언트를 사용하고

이것이 바로이 질문을 한 후 같은 일을

1286 Unknown storage engine 'FEDERATED' 1266 Using storage engine InnoDB for table 'federated_table' 

답변

0

을하려고 오류를보고 Google은 MySQL Wire Protocol을 Google Cloud SQL에 추가했습니다.

http://googlecloudplatform.blogspot.co.uk/2013/10/google-cloud-sql-now-accessible-from-any-application-anywhere.html

은 일반적인 방법으로 연합 테이블을 생성 할 수있게되었습니다.

+0

https://cloud.google.com/sql/docs/features - Cloud SQL이 페더레이션 테이블을 지원하지 않는다고 명시되어 있습니다. 내가 놓친 게 있니? – AvnerSo

+1

오래 전 이었지만 내 기억이 올바르게 작동하면 Google Cloud SQL 인스턴스에 연결되는 외부 호스팅 데이터베이스에 페더레이션 테이블을 만드는 것이 좋습니다. 할 수없는 일은 Google Cloud SQL에서 연합 테이블을 만드는 것입니다. – John

관련 문제