web-dev-qa-db-ja.com

ローカルのphpMyAdminクライアントでリモートサーバーにアクセスするにはどうすればいいですか?

リモートサーバーがあり、phpMyAdminクライアントがコンピューターにローカルにインストールされているとします。このサーバーにアクセスしてphpMyAdminクライアントから管理するにはどうすればよいですか?それは可能ですか?

114
MichalB

下の/etc/phpmyadmin/config.inc.phpファイルに以下の行を追加するだけです。

$i++;
$cfg['Servers'][$i]['Host'] = 'HostName:port'; //provide hostname and port if other than default
$cfg['Servers'][$i]['user'] = 'userName';   //user name for your remote server
$cfg['Servers'][$i]['password'] = 'Password';  //password
$cfg['Servers'][$i]['auth_type'] = 'config';       // keep it as config

。 「Current Server:」には「127.0.0.1」と「$ cfg ['Servers'] [$ i] ['Host']」の両方がサーバー間で切り替わります。

詳細: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/

145
Suresh Kamrushi

それはできますが、あなたはphpMyAdminの設定を変更する必要があります。この記事を読んでください: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin

何らかの理由でリンクが停止した場合は、次の手順を実行できます。

  • PhpMyAdminのconfig.inc.phpという設定ファイルを見つけます。
  • $cfg['Servers'][$i]['Host']変数を見つけて、それをリモートサーバーのIPまたはホスト名に設定します。
  • $cfg['Servers'][$i]['port']変数を見つけて、それをリモートのmysqlポートに設定します。通常これは3306です
  • $cfg['Servers'][$i]['user']および$cfg['Servers'][$i]['password']変数を見つけて、これらをリモートサーバーのユーザー名とパスワードに設定します。

サーバーが正しく設定されていないと、接続がローカル接続より遅くなることがあります。サーバーがホスト名からIPアドレスを検索しなくても済むように、ホスト名の代わりにIPアドレスを使用する方が多少速くなります。

さらに、リモートデータベースのユーザー名とパスワードは、このように接続するときにプレーンテキストで保存されるので、だれもこの設定ファイルにアクセスできないようにするための手順を実行する必要があります。あるいは、ログインするたびにユーザー名とパスワードの変数を空のままにして入力するように求めることもできます。これは、はるかに安全です。

21
Phil Cross

他の答えが指摘したように、phpMyAdminのローカルインスタンスからリモートのMySQLサーバーにアクセスすることは確かに可能です。そのためには、 リモート接続を受け付けるようにリモートサーバーのMySQLサーバーを設定する 、そしてMySQLが待機しているポート番号に対してファイアウォールを通過するトラフィックを許可する必要があります。私は SSH Tunneling を含む少し異なる解決法を好みます。

次のコマンドはSSHトンネルを設定し、ローカルマシンからポート3307へのすべてのリクエストをリモートマシンのポート3306に転送します。

ssh -NL 3307:localhost:3306 root@REMOTE_Host

プロンプトが表示されたら、リモートマシンのrootユーザーのパスワードを入力してください。これでトンネルが開きます。これをバックグラウンドで実行したい場合は、-f引数を追加して、ローカルマシンとリモートマシンの間に パスワードなしのSSH を設定する必要があります。

SSHトンネルが機能したら、/etc/phpmyadmin/config.inc.phpファイルを修正して、リモートサーバーをローカルのphpMyAdminのサーバーリストに追加できます。ファイルの末尾に次を追加します。

$cfg['Servers'][$i]['verbose']       = 'Remote Server 1';// Change this to whatever you like.
$cfg['Servers'][$i]['Host']          = '127.0.0.1';
$cfg['Servers'][$i]['port']          = '3307';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysqli';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'cookie';
$i++;

あなたがさらなる助けが必要な場合に備えて、私はこれについてもっと詳しく blog post を書きました。

17
c.hill

このブログ記事に従ってください。とても簡単にできます。 https://wadsa​​shika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/

ファイルconfig.inc.phpには、phpMyAdminインストールの設定が含まれています。これは配列を使用して、接続可能なすべてのサーバーの設定オプションのセットを格納します。デフォルトでは、自分のマシンまたはローカルホストは1つだけです。別のサーバーに接続するには、構成配列に別の構成オプションのセットを追加する必要があります。この設定ファイルを編集する必要があります。

まずphpMyAdminフォルダにあるconfig.inc.phpファイルを開きます。 wampサーバーでは、wamp\apps\phpmyadminフォルダーにあります。そのファイルに次の部分を追加します。

$i++;
$cfg['Servers'][$i]['Host']          = 'hostname/Ip Adress';
$cfg['Servers'][$i]['port']          = '';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = 'username';
$cfg['Servers'][$i]['password']      = 'password';

この変数の意味は何でしょうか。

$i++ :- Incrementing variable for each server
$cfg[‘Servers’][$i][‘Host’] :- Server Host name or IP adress
$cfg[‘Servers’][$i][‘port’] :- MySQL port (Leave a blank for default port. Default MySQL port is 3306)
$cfg[‘Servers’][$i][‘socket’] :- Path to the socket (Leave a blank for default socket)
$cfg[‘Servers’][$i][‘connect_type’] :- How to connect to MySQL server (‘tcp’ or ‘socket’)
$cfg[‘Servers’][$i][‘extension’] :- php MySQL extension to use (‘mysql’ or ‘msqli’)
$cfg[‘Servers’][$i][‘compress’] :- Use compressed protocol for the MySQL connection (requires PHP >= 4.3.0)
$cfg[‘Servers’][$i][‘auth_type’] :- Method of Authentication
$cfg[‘Servers’][$i][‘username’] :- Username to the MySQL database in remote server
$cfg[‘Servers’][$i][‘password’] :- Password to the MySQL database int he remote server

この設定部分を追加した後、サーバーを再起動するとphpMyAdminのホームページが変わり、サーバーを選択するためのフィールドが表示されます。

そのデータベースのユーザー名とパスワードを入力して、サーバーを選択してリモートデータベースにアクセスできます。

11
Dulanga Sashika

Answer c.hill answerに記載されているように、安全な解決策が必要な場合はあなたへのSSHトンネルを開くことをお勧めします。サーバ。

これはWindowsユーザーのためにそれをする方法です:

  1. PlinkとPuTTYを PuTTYのWebサイト からダウンロードし、選択したフォルダにファイルを置きます(私の例ではC:\PuTTY)。

  2. Windowsコンソールを開き、Plinkフォルダに移動します。cd C:\PuTTY

  3. SSHトンネルを開き、ポート3307にリダイレクトします。

    plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk

どこで:

  • 3307はリダイレクトしたいローカルポートです
  • localhostは、リモートサーバー上のMySQL DBのアドレスです(デフォルトではlocalhost)。
  • 3306はリモートサーバー上のPhpMyAdmin用のポートです(デフォルトは3306)。

最後にPhpMyAdminを設定します。

  1. config.inc.phpの最後に次の行を追加して、リモートサーバーをローカルのPhpMyAdmin設定に追加します。

追加する行

$i++;   
$cfg['Servers'][$i]['verbose']          = 'Remote Dev server';
$cfg['Servers'][$i]['Host']             = 'localhost';
$cfg['Servers'][$i]['port']             = '3307';
$cfg['Servers'][$i]['connect_type']     = 'tcp';
$cfg['Servers'][$i]['extension']        = 'mysqli';
$cfg['Servers'][$i]['compress']         = FALSE;
$cfg['Servers'][$i]['auth_type']        = 'cookie';
  1. http://127.0.0.1/phpmyadminで今すぐ接続できるはずです

リモートサーバーに接続する必要があるたびにコンソールを開く必要がない場合は、(2つのコマンドラインを.batファイルに保存して)バッチファイルを作成するだけです。

8
Yannickv

PhpMyAdminをインストールしたconfig.inc.phpファイルに設定することができます。

$cfg['Servers'][$i]['Host'] = '';
6
oo_miguel

私はこれをコメントとして付け加えたでしょうが、私の評判はまだ十分ではありません。

バージョン4.5.4.1deb2ubuntu2の下で、私は他のバージョン4.5.x以降を推測しています。 config.inc.phpファイルを変更する必要はまったくありません。代わりにconf.dの下にもう1つディレクトリを移動してください。

拡張子が「.php」の新しいファイルを作成し、行を追加します。これは、よりモジュール化されたアプローチであり、各リモートデータベースサーバーのアクセス情報を分離します。

4
Ken

buntuの場合

PHPMyAdminフォルダ内の単一のファイル、つまり「config.inc.php」を変更するだけです。「config.inc.php」に以下の行を追加するだけです。

ファイルの場所:/var/lib/phpmyadmin/config.inc.php OR /etc/phpmyadmin/config.inc.php

たぶんあなたはそのファイルを編集する権限を持っていない、単にこのコマンドを使用して権限を与える

Sudo chmod 777 /var/lib/phpmyadmin/config.inc.php

または(異なるシステムでは、これら2つの場所で確認する必要があるかもしれません)

Sudo chmod 777 /etc/phpmyadmin/config.inc.php

次に、コードをコピーしてconfig.inc.phpファイルに貼り付けます

    $i++;
    $cfg['Servers'][$i]['auth_type']     = 'cookie';
    $cfg['Servers'][$i]['verbose'] = 'Database Server 2';
    $cfg['Servers'][$i]['Host'] = '34.12.123.31';
    $cfg['Servers'][$i]['connect_type']  = 'tcp';
    $cfg['Servers'][$i]['compress']      = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = false;

サーバーの詳細を適切に変更してください。

2
byteC0de

一番下のファイル\ phpMyAdmin\config.inc.phpに移動し、ホスト、ユーザー名、パスワードなどのホスティングの詳細を変更します。

1
Patrick R

方法1(マルチサーバーの場合)

まず、元の設定のバックアップを作成しましょう。

Sudo cp /etc/phpmyadmin/config.inc.php      ~/ 

/ usr/share/doc/phpmyadmin/examples /にはファイルconfig.manyhosts.inc.phpがあります。以下のコマンドを使って/ etc/phpmyadmin /にコピーインするだけです。

Sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
        /etc/phpmyadmin/config.inc.php

config.inc.phpを編集してください

Sudo nano /etc/phpmyadmin/config.inc.php 

検索する :

$hosts = array (
    "foo.example.com",
    "bar.example.com",
    "baz.example.com",
    "quux.example.com",
);

そして、ipまたはhostnameの配列を保存して(nano CTRL + XではYを押して)保存して終了します。完了

方法2(単一サーバー)config.inc.phpを編集する

Sudo nano /etc/phpmyadmin/config.inc.php 

検索する :

/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['Host'] = $dbserver;

if (!empty($dbport) || $dbserver != 'localhost') {
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['port'] = $dbport;
}

そしてと交換します。

$cfg['Servers'][$i]['Host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';

192.168.1.1を自分のmysql ipサーバーに置き換えてください。

私の下手な英語ですみません(グーグル翻訳のせいです:D)

0
Cornea Valentin