2011-01-28 14 views
-1

これで、自分のサイトの半分を別のサーバーに移動しようとしているクライアントがあります...これで、両方のデータベースからデータを引き出す必要があります。だから私は、新しいサイトを持っていると私は古いNAVを含めることができるように、古いサイト上のMySQL DBクエリを実行する必要があり....しかし、私は1台のサーバーから別のデータベースに接続する

<?php include("http://www.othersite.com/includes/db.php"); ?> 
    <?php include("http://www.othersite.com/includes/nav.php"); ?> 

を行うとき、私は

Warning: mysql_query(): Access denied for user 'www-data'@'localhost' 
(using password: NO) in /vol/www/othersite.com/public_html/includes/nav.php 
on line 223 Warning: 

を取得します新しいサイトから別のデータベースにアクセスして新しいデータベース接続を妨げないようにするにはどうすればいいですか?

+0

たいていからコードを置く場合は、2はかなり無意味含まれて貼り付けられたので、それは、より簡単になります代わりに、データベースに接続するために使用されている実際のコードの。推測、それは私のdownvoteではない。 – Mchl

答えて

0

これらのデータベースへの接続に使用される実際のコードを表示する必要があります。しかし、それがなくても、私はリモートサーバーがlocalhostと呼ばれていないことを伝えることができます。

リモートサイトからこれらのファイルが含まれているようです。コードはまだローカルサーバー上で実行されるため、この方法では動作しません。

また、リモートのMySQLがリモート接続を許可し、適切な特権を持つMySQLユーザーアカウントが作成されていることを確認する必要があります。

参照:http://dev.mysql.com/doc/refman/5.5/en/privilege-system.html

0

...これで私はまだ両方のデータベースからのデータ をプルする必要があります。

これで幸運を祈る!

私はこれを行うような方法:

  1. ソースコードのコピーサーバ#2
  2. のIPにサーバ#1のIPからサーバ#1
  3. 変更DNSレコードからデータをフェッチするために、それを調整しますサーバ#2
  4. 待ち1日
  5. 与えるには、#1/FETにサーバ#2を調整するために1
  6. のrsync DBサーバ#2からサーバ#上の5分のための 'サーバメンテナンス' をブロックしますeBayで売るサーバ#1削除「サーバーのメンテナンス」
  7. 自体からとboozed

NOTE取得chのデータ:あなたは、いくつかのプライベートホストについて話している場合、 は確かに..はるかに成功がありますサーバーをオフラインにしなくても同じことを行う複雑なメカニズムです。

0

お使いのブラウザにLoad http://www.othersite.com/includes/db.phpあなたはPHPコードを見ることができないことに気付くでしょう:あなたが得るのはのPHPコードのです。つまり、すべてのìnclude構造をリモートHTTPサーバーを指すように変更すると、ソースコードにアクセスできなくなるため、サイトが破損するだけです。

質問に答えるには、リモートデータベースに接続する場合は、DBパスワードを持っていてどこにいても新しいサーバーアドレスを持つlocalhost、新しいサーバーアドレスを持つwww-dataなどを変更する必要があります。しかし、新しいサーバのIPアドレスからの外部接続を受け入れるように、おそらくリモートMySQLサーバを設定する必要があります。

$newLink = mysql_connect($host, $user, $password); 
mysql_select_db($db, $newLink); 

をし、それが「古い」データベース・リンク接続を使用しないように、あなたは次のように、あなたのクエリに$ newLinkを追加する必要があります:

1

を使用でき

mysql_query('SELECT * FROM USERS', $newLink); 

がそれを願っています助けてください

PSあなたはをdb.phpnav.php

関連する問題