0

PHP でリモート mysql データベースに接続する必要があります。

具体的には、これを定数として持っています。 define("DATABASE_SERVER", "localhost"); ...

$db = @mysql_connect(DB_SERVER, DB_USER, DB_PASS);

サイトをローカル マシンにコピーしたいが、それでもメイン データベースに接続したい。

私はこれを行うことができますか?もしそうなら、どのように?私が持っているのはFTPアクセスだけです。

4

5 に答える 5

3

DB の IP/URL が必要で、それを localhost の代わりに置きます。
DB 構成でリモート接続/ローカル ネットワーク外への接続が許可されていることを確認する必要があります。
DB の IP を取得すると (サポートされている場合は、サポート チームから提供される必要があります)、わかります。

データをコピーしてマシン上でローカルにビルドするだけで、ライブ データを破壊しない場合は、PHPmyadmin のエクスポート タブを使用します。あまりデータを持っていないと思います。
PHPmyadmin -> DB を選択 (左フレームから) -> エクスポート TAB を押します (上、右フレーム)。
そこから明らかになるはずです。
これを SQL としてエクスポートし、ローカル マシンでこの SQL を実行できます。

于 2009-11-13T16:31:56.257 に答える
2

データベース サーバーがリモート接続を拒否していると思います。cPanel をお持ちの場合は、「リモート データベース アクセス」のようなセクションがあり、特定の IP 範囲に対して有効にすることができます。

于 2009-11-13T16:30:45.027 に答える
2

問題のデータベースをエクスポートし、ローカルにインポートすることをお勧めします。これにより、失敗してもライブ データが破壊されることはありません。

ほとんどではないにしても、多くのホスティング プロバイダーは、phpMyAdmin のような DB インターフェイスも提供しています。そこからデータベースをエクスポートできます。

于 2009-11-13T16:33:49.343 に答える
1

+1ヌー。パブリック インターネット インターフェイス (*) で外部アクセスをリッスンするように構成できたとしても、開発作業に運用データベースを使用しないでください。マウスを 1 回滑らせるだけで、重要なライブ データを走り書きできます。代わりに、独自のスタンドアロン開発サーバーで作業する必要があります。このサーバーから、作業中およびテスト中にコードの変更をライブ サーバーにプッシュできます。

(*: これ自体は非常に悪い考えです。パスワードが弱すぎるか、エクスプロイトが利用可能な古いバージョンの MySQL を実行している場合、自動化されたプローブによって非常に迅速にハッキングされます。)

通常は、mysqldump dbname > dbdump.sqlコマンドを使用してシェルからデータベースをエクスポートし、パイプを使用してローカル サーバーにインポートしますmysql dbname < dbdump.sql。使用できるサーバーに MySQL 管理 Web インターフェイスがインストールされている場合もあります。しかし、もしあなたが持っているのが FTP だけなら、開発作業を行うために必要なツールが与えられたことにはなりません。空またはダミーのデータベースを取得してサイトをテストできるかどうかを確認してください。

(さらに、FTP は厄介なビジネスです... 本当に今世紀では、SFTP を使用する必要があります。)

于 2009-11-13T16:58:31.757 に答える
0

最も簡単な方法は、(または同等に意味のあるもの)DATABASE_SERVERとして定義databaseし、hosts ファイルにエントリを配置することです。ローカル マシンではリモート アドレスを指し、サーバーでは 127.0.0.1 を指します。

define('DATABASE_SERVER', database);

Windows では、サイト ファイルは次のとおりです。

c:\windows\system32\drivers\etc\hosts

と:

database <remote_ip>

Linux:

/etc/hosts

と:

database 127.0.0.1

補足: リモート DB は本番 DB ですか? もしそうなら、別の開発DBを使用していない限り、開発作業にリモートDBを実際に使用すべきではありません-それでも、不正な開発クエリがリモートDBリソースを使い果たすリスクはありません。

更新:おっと、FTP アクセスに制限されていることを見逃していました。

于 2009-11-13T16:39:54.907 に答える