Jawaban:
Cukup tambahkan baris di bawah ini ke /etc/phpmyadmin/config.inc.php
file Anda di bagian bawah:
$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
. Anda akan mendapatkan "Server Saat Ini:" drop down dengan "127.0.0.1" dan yang Anda berikan dengan "$ cfg ['Server'] [$ i] ['host']" beralih cam antara server.
Lebih detail: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
$i++
adalah poin penting karena ini tidak akan membuat kita kehilangan koneksi database dengan default localhost
.
/etc/phpmyadmin/config.inc.php
adalah file yang benar untuk diubah
config.inc.php
file tersebut terletak di Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
file.
Tentu saja mungkin untuk mengakses server MySQL jarak jauh dari instance lokal phpMyAdmin, seperti yang ditunjukkan oleh jawaban lain. Dan agar itu berhasil, Anda harus melakukannya mengonfigurasi server MySQL server jarak jauh untuk menerima koneksi jarak jauh , dan mengizinkan lalu lintas melalui firewall untuk nomor port yang didengar MySQL. Saya lebih suka solusi yang sedikit berbeda yang melibatkan Tunneling SSH .
Perintah berikut akan mengatur terowongan SSH yang akan meneruskan semua permintaan yang dibuat ke port 3307 dari mesin lokal Anda ke port 3306 pada mesin jarak jauh:
ssh -NL 3307:localhost:3306 root@REMOTE_HOST
Saat diminta, Anda harus memasukkan kata sandi untuk pengguna root di mesin jarak jauh. Ini akan membuka terowongan. Jika Anda ingin menjalankan ini di latar belakang, Anda harus menambahkan-f
argumen, dan mengatur SSH Tanpa Kata Sandi antara mesin lokal Anda dan mesin jarak jauh.
Setelah terowongan SSH berfungsi, Anda dapat menambahkan server jarak jauh ke daftar server di phpMyAdmin lokal Anda dengan memodifikasi /etc/phpmyadmin/config.inc.php
file. Tambahkan berikut ini ke akhir file:
$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++;
Saya menulis posting blog yang lebih mendalam tentang hal ini, jika Anda membutuhkan bantuan tambahan.
$++
seharusnya menjadi baris pertama, bukan yang terakhir, setidaknya untuk phpmyadmin.conf default saya.
Itu bisa dilakukan, tetapi Anda perlu mengubah konfigurasi phpMyAdmin, baca posting ini: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
Jika karena alasan apa pun tautan itu mati, Anda dapat menggunakan langkah-langkah berikut:
config.inc.php
$cfg['Servers'][$i]['host']
variabel, dan atur ke IP atau nama host dari server jauh Anda$cfg['Servers'][$i]['port']
variabel, dan atur ke port mysql jarak jauh. Biasanya ini3306
$cfg['Servers'][$i]['user']
dan $cfg['Servers'][$i]['password']
variabel dan mengatur ini untuk username dan password untuk server jauhTanpa konfigurasi server yang tepat, koneksi mungkin lebih lambat daripada koneksi lokal misalnya, mungkin akan sedikit lebih cepat menggunakan alamat IP daripada nama host untuk menghindari server harus mencari alamat IP dari nama host.
Selain itu, ingatlah bahwa nama pengguna dan kata sandi basis data jauh Anda disimpan dalam teks biasa saat Anda terhubung seperti ini, jadi Anda harus mengambil langkah-langkah untuk memastikan bahwa tidak ada yang dapat mengakses file konfigurasi ini. Atau, Anda dapat membiarkan variabel nama pengguna dan kata sandi kosong agar diminta memasukkannya setiap kali Anda masuk, yang jauh lebih aman.
Ikuti posting blog ini. Anda dapat melakukannya dengan sangat mudah. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
File config.inc.php berisi pengaturan konfigurasi untuk instalasi phpMyAdmin Anda. Ini menggunakan array untuk menyimpan set opsi konfigurasi untuk setiap server yang dapat terhubung dan secara default hanya ada satu, mesin Anda sendiri, atau localhost. Untuk terhubung ke server lain, Anda harus menambahkan set opsi konfigurasi lain ke array konfigurasi. Anda harus mengedit file konfigurasi ini.
File config.inc.php terbuka pertama diadakan di folder phpMyAdmin . Di server wamp , Anda dapat menemukannya di folder wamp \ apps \ phpmyadmin . Kemudian tambahkan bagian berikut ke file itu.
$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';
Mari kita lihat apa arti dari variabel-variabel ini.
$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
Setelah menambahkan bagian konfigurasi ini, restart server Anda dan sekarang halaman beranda phpMyAdmin Anda akan berubah dan itu akan menampilkan bidang untuk memilih server.
Sekarang Anda dapat memilih server Anda dan mengakses basis data jauh Anda dengan memasukkan nama pengguna dan kata sandi untuk basis data itu.
Seperti yang dinyatakan dalam jawaban c.hill jawaban, jika Anda menginginkan solusi aman saya akan menyarankan untuk membuka terowongan SSH ke server Anda.
Ini cara untuk melakukannya untuk pengguna Windows :
Unduh Plink and Putty dari situs web Putty dan letakkan file di folder pilihan Anda (Dalam contoh saya C:\Putty
)
Buka konsol Windows dan folder cd to Plink:
cd C:\Putty
Buka terowongan SSH dan arahkan ke port 3307:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
Dimana:
Akhirnya Anda dapat mengatur PhpMyAdmin:
Baris untuk ditambahkan:
$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
Jika Anda tidak ingin membuka konsol setiap kali Anda perlu terhubung ke server jauh, cukup buat file batch (dengan menyimpan 2 baris perintah dalam file .bat).
Saya ingin menambahkan ini sebagai komentar, tetapi reputasi saya belum cukup tinggi.
Di bawah versi 4.5.4.1deb2ubuntu2, dan saya menebak versi lain 4.5.x atau lebih baru. Tidak perlu memodifikasi file config.inc.php sama sekali. Alih-alih buka satu direktori lagi conf.d.
Buat file baru dengan ekstensi '.php' dan tambahkan baris. Ini adalah pendekatan termodulasi yang lebih baik dan mengisolasi setiap informasi akses server database jarak jauh.
Di Ubuntu
Hanya Anda perlu memodifikasi satu file dalam folder PHPMyAdmin yaitu "config.inc.php". Cukup tambahkan baris di bawah ini ke "config.inc.php" Anda.
Lokasi file: /var/lib/phpmyadmin/config.inc.php
ATAU
/etc/phpmyadmin/config.inc.php
Mungkin Anda tidak memiliki izin untuk mengedit file itu, cukup berikan izin menggunakan perintah ini
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
ATAU (dalam sistem yang berbeda Anda mungkin harus memeriksa dengan dua lokasi ini)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
Kemudian salin dan tempel kode dalam config.inc.php
file Anda
$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;
Dan buat perubahan yang sesuai dengan detail server Anda
Metode 1 (untuk multiserver)
Pertama, mari buat cadangan konfigurasi asli.
sudo cp /etc/phpmyadmin/config.inc.php ~/
Sekarang di / usr / share / doc / phpmyadmin / example / Anda akan melihat file config.manyhosts.inc.php . Cukup salin ke / etc / phpmyadmin / menggunakan perintah di bawah:
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
/etc/phpmyadmin/config.inc.php
Edit config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Pencarian untuk :
$hosts = array (
"foo.example.com",
"bar.example.com",
"baz.example.com",
"quux.example.com",
);
Dan tambahkan ip atau hostname array save (di nano CTRL + X tekan Y) dan keluar. Selesai
Metode 2 (server tunggal) Edit config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Pencarian untuk :
/* 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;
}
Dan ganti dengan:
$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';
Ingatlah untuk mengganti 192.168.1.100 dengan server ip mysql Anda sendiri.
Maaf untuk bahasa Inggris saya yang buruk (Google translate salahkan: D)
Ketika saya mengujinya Menemukan file config.default.php
kemudian temukan $ cfg ['AllowArbitraryServer'] = false;
kemudian setel ke true
note: di ubuntu file di path /usr/share/phpmyadmin/libraries/config.default.php
maka Anda akan menemukan SERVER nama yang diajukan baru di halaman PHPMyAdmin utama, Anda dapat menambahkannya ke IP atau localhost untuk database lokal.
Di Windows dengan Wamp Server Terinstal, Anda dapat menemukan file konfigurasi
C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php
Ubah garis sumbu sesuai kebutuhan
$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'] = '';
Hapus entri lengkap dari /etc/http/conf.d/phpMyAdmin.conf
Dan di bawah ini ada dalam file di atas,
<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>
Kemudian,
jalankan perintah di bawah ini di MySQL prompt,
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
Untuk referensi: Izinkan IP untuk Mengakses PhpMyAdmin yang Aman
phpmyadmin
gambar buruh pelabuhan secara lokal dan menyambung ke server MySQL jarak jauh Anda. lebih detail di sini :docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin