테스트 사이트 - 개발 중인 베타 버전입니다

다른 호스팅된 db끼리 select

딩은 2년 전 조회 2,784

안녕하세요,

a.com으로 호스팅 된 "a" db와 b.com으로 호스팅 된 "b" db에서

"a"db에서 "b"db에 저장된 회원들을 select 할 방법이 있을까요?

서버db는 php myadmin을 사용하고 있습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

a"db에서 "b"db에 저장된 회원들을 select 할 방법이 있을까요?

==

Join 같은 걸 쓰겠다면

MySQL 서버가 같아야 하겠지만

단순 select만 한다면

B쪽 MySQL 서버에 계정을 추가하면 됩니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

할일없는자

MySQL이 FEDERATED 엔진을 지원하는지부터 확인해봐야 합니다. (ex) show engines 명령어)
만일 지원한다면 아래와 같이 사용할 수 있습니다.

CREATE TABLE federated_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL
    PRIMARY KEY  (id)
)
ENGINE=FEDERATED
CONNECTION='mysql://fed_user:fed_user@197.186.1.199:3306/test/test_table';

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

엑스엠엘
2년 전
FEDERATED가
local table하고 join도 지원하나요?
이여름
2년 전
phpMyAdmin에서 확인해보니 제가 쓰는 MYSQL 서버에선 FEDERATED 스토리지 엔진을 지원하지 않는다고 하네요..ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

2년 전

select a.g5_member;

 

select b.g5_member;

 

※ https://stackoverflow.com/a/33194491

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

딩은
2년 전
안녕하세요 조언해주신 것에 따라 php myadmin으로 접속하여 a db에서 b db를 select하기 위해
select * from b.g5_member 을 실행했으나
select command denied to user 'a'@localhost' fro table 'g5_member' 라고 오류 메세지가 뜹니다..
php myadmin에서 user에게 권한을 부여하면 되는걸까요?
마르스컴퍼니
2년 전
(정정)
select * from a.g5_member;

select * from b.g5_member;

-----

이후에도 phpmyadimin 로그인 유저가 해당 db 조회 권한이 없다는 오류가 나온다면,
GRANT ALL PRIVILEGES ON b.* TO 계정아이디@localhost;
flush privileges;
해주면 됩니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인