2011-07-07 4 views
1

私はデポジトリの開発者です。ウェブホスティングの仕組みについてよく知らないので、ここで助けてください。ローカルのmssqlデータベースをウェブホストのMYSQLに移動

現在、私のアプリは同じマシンにローカルにインストールされているMSSQLデータベースで動作します。 今私はより広い範囲に行き、複数のアプリケーションをインターネット上で同じデータベースで動作させる必要があります。 私はCPanelとMySQLデータベースにウェブホスティングをしています。

他のコンピュータからMySQLデータベースのテーブルにアクセスする方法を教えてください。 そのテーブルのレコードを選択して更新します。そのような要求をするためにPHPを使っていくつかの機能を実装する必要がありますか?

あなたは生のSQLファイルにあなたのコンピュータ上のデータをエクスポートし、あなたがそれをインポートすることができPHPMyAdminのコントロールパネルを使用しなければならないでしょう。..

答えて

0

を教えてください。自分のマシンでPHPMyAdminも使用していると仮定すると、上部に「エクスポート」タブがあります。これをクリックすると、すべてのテーブルを.sqlファイルにエクスポートするオプションがあります。

そこから、CPanel経由でPHPMyAdminにアクセスする必要があります。一旦入室すると、[インポート]タブをクリックしてファイルをアップロードし、すべてのデータをデータベースに取得できます。オンラインでデータベースと対話するには、PHPでinbuilt関数を使用する必要があります。MySQL ReferenceはPHP.net上で非常に便利です。 PHPMyAdminコントロールパネルを使用して、どのコンピュータからでもデータベースにアクセスできます。

1

構文に多少の違いがあるため、mySQLにインポートしようとすると、生のMS-SQLダンプのエクスポートは機能しません。データの移行に役立つ商用プログラムがあります。それ以外の場合は、MSSQLからmySQLにエクスポートするPHPプログラムをコーディングする方が良いかもしれません。

データベースにリモートからアクセスする方法を聞いているように聞こえるように聞こえます。 。 PHPはこれをネイティブに行うことができます。データベースへのリンクを作成するときは、ホストを指定します。次に例を示します。$ databaseConnection = new mysqli( 'username'、 'password'、 'host_ip_address');

MSSQLから来ている場合は、いくつかのスネアを打つかもしれません。

MS-SQLでリモート接続を許可するには、「表面積」設定ツールを使用します。おそらく、mySQLデータベースサーバーがリモート接続を許可するように設定されていることがわかります。そうでなければ、自分のホストを持っていなくても構いません。

次のトリックは、mySQLのユーザー名が 'user' @ 'host'のようになっていることを覚えておくことです。

cPanelホスティングには通常PHPmyAdminがインストールされています。それを開き、mysqlデータベース(MySQLサーバー上で実行されているmysqlという名前の実際のデータベース)のuserテーブルを参照してください。

ホスト列が表示されます。したがって、あなたの 'root'ユーザーが 'localhost'に設定されていれば、別のマシンからそのユーザーとしてログインすることはできません。ワイルドカード記号は%です。これをここで読むことができます - http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

もちろん、ユーザーに関しては、同じルールがmySQLに適用されます。 rootアカウントを使用してサブデータベースにアクセスするのではなく、必要な権限だけを持つ新しいユーザーを割り当てます。予測不可能なユーザー名の使用も検討してください。それは本当にあなたの質問に答えるわけではありませんが、あなたがユーザテーブルを見ている間は言及する価値があります。だから、

最終的にあなたの質問に答えるために:cPanelのに 1)ログインをして、データベース 'foo' で

2)ファイル名を指定して実行SQLコマンドを作成します。

GRANT ALL PRIVILEGES ON foo.* TO 'secretuser'@'%' IDENTIFIED BY 'longpassword' 

そして、PHPコードは次のようになります:あなたはおそらく

を「TOP 10を選択」するために使用しているので、

$host = 'ipaddress or hostname'; 
$mysqli = new mysqli('secretuser','longpassword',$host,'foo'); 
// look in php.net for error handling 
$query = "SELECT * FROM tablename LIMIT 0,10"; 
$result = $mysqli->query($query); 

私は制限を置く理由があります

関連する問題