お世話になっております。
MYSQL5を利用しております。
この度、別サーバーのDB同士を結合することは可能かどうか、もし可能であればサンプルを頂けないかと思い、投稿させて頂きました。
[現在使用しているDBサーバ]
kagoyaサーバーのDB(MYSQL)
sakuraサーバーのDB(MYSQL)
[上記DBを結合させるコードを記述したファイルを置くサーバー]
kagoyaサーバー
現在kagoyaサーバーにてそれぞれのDBからそれぞれのDBにアクセスして値を取得するところまでは出来ております。二回SQLを書いているのですが、これを一度でどうしても済ませたいと思い、JOINを使用して結合できないか調べてみました。
http://q.hatena.ne.jp/1178781253
http://detail.chiebukuro.yahoo.co.jp/qa/question …
上記URLのように、同サーバー内なら可能のようですが、実際にやってみたのですが、「mysql_query($sql, $db);」の第二引数でどちらのDBに接続すればいいかわからず、両方試してみましたがダメでした。(自分が書いたソースを破棄してしまったためうろ覚えなのですが、返ってきたresource はresource #13でした。)
結局できるのかできないのかわからないままの状態です・・・。もしわかる方がいましたら、どうかご教授下さい!よろしくお願い致します!
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
思いつきで細かく確認していませんが。
。。MySQL以外のRDBMSは、使用しているでしょうか?
なぜこんなことを聞くかというと、RDBMSによっては、外部表やDATALINK等といった概念で、他のRDBMSの操作を可能にしているものもあります。そのRDBMSによってどこまで実装しているかですが、異なるDBサーバ、異なるRDBMSの表をJOINしたりできたりします。
つまりそういった機能を実装しているRDBMS上で、MySQLの表に対し外部表などとして定義し、そのRDBMS経由で操作するといった方法です。
外部表やDATALINKは、SQL99で標準SQLに入ったと記憶していますが、先行して実装しているRDBMSでは、独自仕様が多いかも知れません。
運用や性能などの面で、外部表などでなく、MySQL間でレプリケーションした方がいいかもしれませんが、こんなこともできたりする程度のアドバイスですけどね。
No.3
- 回答日時:
例で上がっているのは、ネームスペースレベルでどうにかなるものなので、サーバーが別になるとかなり違います。
SQLでどうにもなりません。
この状況で、まともな選択肢なら、#1 の提案のように、
レプリケーションで、サーバー双方に結合対象のテーブルを複製させて、結合させる方法が分かりやすいでしょう。
あくまで、複製された方のテーブルでは更新を行なわないという前提ですが。
これ以外の方法としては、MySQL Cluster を使って、ストレージエンジンを共有してしまうと言う手があります。
これだと、それぞれのサーバから、ローカルのテーブルのようにアクセスできて、URLの例のような結合も可能になります。
ですが、メモリーをかなり使うのと、チューニングはとっても分かりにくいのと、管理も複雑で簡単とは言えません。
No.2
- 回答日時:
それぞれのDBをダンプします(mysqldump)。
テキストエディターで必要なテーブルを残し第3のDBダンプリストを合成作成し、それを元に戻す、というのは如何ですか。
厄介なプログラムを設定するよりは楽だと思いますが。但し、第3のDBはあくまでも第1および第2のDBとは別名にし、確認後、第1または第2のDB名に戻せば良いはずです。もうひとつ、OSがLinux(Unix)の場合はくれぐれも日本語の文字化けにご注意を。
No.1
- 回答日時:
「レプリケーション」で複数MySQLサーバー間のデータやりとりが出来るようですが、それぞれのサーバー側で互いに対応していないと無理です。
なので、それぞれのサーバーから個別にデータを取ってきて、phpで、データ合成するしかありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Gmail SPFレコードとDNSサーバーについて、gmailを設定できるかどうか 2 2023/06/10 23:55
- その他(ブラウザ) python から COBOL を呼び出すことは可能でしょうか。 1 2023/04/21 21:03
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- サーバー ネットワークの構成に困っています 3 2023/07/05 11:55
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
2台のサーバー間でのテーブル結合方法
SQL Server
-
他のデータベースとのテーブル結合
SQL Server
-
異なるサーバのDBデータ同士を結合するには?
Oracle
-
-
4
あるDBから別のDBのテーブルをselectしたい
MySQL
-
5
MYSQLでSQLSERVERのリンクサーバーのようなことは可能ですか
MySQL
-
6
(SQLSERVER) 別サーバーへテーブルコピー
SQL Server
-
7
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別サーバーのDB同士を結合する...
-
SQLServerでViewの参照・・・
-
dtexecコマンドを使ってDTSパッ...
-
リンクサーバ(PostgreSQL)に...
-
OracleJDK17をインストールすれ...
-
sqlcmdでクエリの実行結果をバ...
-
SQLserverのIF文について
-
エクセルマクロで指定範囲内の...
-
データベースのOPEN,CLOSEについて
-
ノートンの解約(「ライセンス...
-
MDAC2.8のインストール
-
SQLのエラー(~付近に不適切な...
-
SQLサーバー接続 特定のPCがWin...
-
Duplicate entry '21474836
-
ACCESS ADOでupdateが効かない
-
Excel-VBAの「しばらくお待ちく...
-
MSDEまたはSQLServerでReadOnly...
-
エクセルのグループボックス枠...
-
バッチファイルからのBCP起動に...
-
RPCサーバーエラーをどうしても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(SQLSERVER) 別サーバーへテー...
-
異なるサーバーにファイルをエ...
-
dtexecコマンドを使ってDTSパッ...
-
MySQLに良いCPUスペックは?
-
別サーバーのDB同士を結合する...
-
SQLServerでViewの参照・・・
-
2つのPCの SQL Server のテー...
-
FreeBSD+PostgreSQLでありえな...
-
リンクサーバ(PostgreSQL)に...
-
SQLサーバーのテーブルでサーバ...
-
SQLサーバーでの正規表現メタ文...
-
Oracle 8i コンマ(,)を含むデ...
-
SQLサーバー接続 特定のPCがWin...
-
SQLのエラー(~付近に不適切な...
-
GROUP BYでエラーが発生
-
Access2010 accdbのエラー「ODB...
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
SQL Loaderを使いたい
-
NAT-KUのノートパソコンは?
-
エクセルマクロで指定範囲内の...
おすすめ情報