回答:
/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
。「現在のサーバー:」ドロップダウンに「127.0.0.1」と、サーバー間の「$ cfg ['Servers'] [$ i] ['host']」カムスイッチで提供したものの両方が表示されます。
詳細:http : //sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
$i++
は、デフォルトでデータベース接続が失われることはないため、重要なポイントですlocalhost
。
/etc/phpmyadmin/config.inc.php
変更する正しいファイルです
config.inc.php
ファイルは Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
fileにあります。
他の回答が指摘しているように、phpMyAdminのローカルインスタンスからリモートMySQLサーバーにアクセスすることは確かに可能です。そして、それが機能するためには、リモート接続を受け入れるようにリモートサーバーのMySQLサーバーを構成し、 MySQLがリッスンしているポート番号に対してファイアウォールを通過するトラフィックを許可する必要があります。私はSSHトンネリングを含む少し異なるソリューションを好みます。
次のコマンドは、ローカルマシンからポート3307に対して行われたすべての要求をリモートマシンのポート3306に転送するSSHトンネルをセットアップします。
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++;
さらにヘルプが必要な場合に備えて、これについての詳細なブログ投稿を作成しました。
$++
少なくとも私のデフォルトのphpmyadmin.confでは、間違いなく最初の行で最後ではないはずです。
できますが、phpMyAdminの設定を変更する必要があります。この投稿を読んでください:http : //www.danielmois.com/article/Manage_remote_databases_from_localhost_with_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アドレスを使用する方がわずかに速いでしょう。
また、リモートデータベースのユーザー名とパスワードは、このように接続するとプレーンテキストで保存されるため、この構成ファイルに誰もアクセスできないようにする必要があります。または、ユーザー名とパスワードの変数を空のままにして、ログインするたびに入力を求めるプロンプトを表示することもできます。これはより安全です。
このブログ投稿に従ってください。とても簡単にできます。 https://wadsashika.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ホームページが変更され、サーバーを選択するためのフィールドが表示されます。
これで、サーバーを選択し、そのデータベースのユーザー名とパスワードを入力してリモートデータベースにアクセスできます。
回答c.hillの回答で述べたように、安全なソリューションが必要な場合は、サーバーへのSSHトンネルを開くことをお勧めします。
Windowsユーザー向けの方法は次のとおりです。
PuttyウェブサイトからPlinkとPuttyをダウンロードし、選択したフォルダーにファイルを配置します(この例ではC:\Putty
)
Windowsコンソールを開き、Plinkフォルダーにcdします。
cd C:\Putty
SSHトンネルを開き、ポート3307にリダイレクトします。
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
どこ:
最後に、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';
http://127.0.0.1/phpmyadmin
リモートサーバーに接続する必要があるたびにコンソールを開きたくない場合は、(2つのコマンドラインを.batファイルに保存して)バッチファイルを作成します。
Ubuntuでは
PHPMyAdminフォルダー内の1つのファイル、つまり「config.inc.php」を変更するだけです。「config.inc.php」に以下の行を追加するだけです。
ファイルの場所:/var/lib/phpmyadmin/config.inc.php
または
/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;
サーバーの詳細で適切な変更を行います
方法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またはホスト名の配列を追加して保存し(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.100 を独自のmysql ipサーバーに置き換えることを覚えておいてください。
私の悪い英語でごめんなさい(グーグル翻訳は責任がある:D)
Wamp ServerがインストールされているWindowsでは、構成ファイルが見つかる場合があります
C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php
必要に応じて、ブローラインを変更します。
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = 3306;//$wampConf['mysqlPortUsed'];
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
の完全なエントリを削除 /etc/http/conf.d/phpMyAdmin.conf
上記のファイルの全体の下に、
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#ADD following line:
Require all granted
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
#CHANGE following 2 lines:
Order Allow,Deny
Allow from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
そして、
MySQLプロンプトで以下のコマンドを実行します。
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
phpmyadmin
Dockerイメージをローカルにインストールして、リモートのMySQLサーバーに接続することもできます。詳細はこちら:docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin