Yanıtlar:
/etc/phpmyadmin/config.inc.php
Dosyanıza aşağıdaki satırları ekleyin :
$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
. Sunucular arasında “127.0.0.1” ve “$ cfg ['Servers'] [$ i] ['host']” kam anahtarıyla sağladığınız “Current Server:” açılır menüsünü alacaksınız.
daha fazla detay: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
$i++
önemli bir nokta, çünkü bu varsayılan ile veritabanı bağlantısını kaybetmemize neden olmaz localhost
.
/etc/phpmyadmin/config.inc.php
değiştirilecek dosya nedir
config.inc.php
dosya Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
dosyada bulunur.
Diğer cevapların işaret ettiği gibi, uzak bir MySQL sunucusuna yerel bir phpMyAdmin örneğinden erişmek kesinlikle mümkündür. Bunun çalışması için, uzak sunucunun MySQL sunucusunu uzak bağlantıları kabul edecek şekilde yapılandırmalı ve MySQL'in dinlediği bağlantı noktası numarası için güvenlik duvarı üzerinden trafiğe izin vermelisiniz. SSH Tünel Oluşturmayı içeren biraz farklı bir çözümü tercih ediyorum .
Aşağıdaki komut, yerel makinenizden 3307 numaralı bağlantı noktasına yapılan tüm istekleri uzak makinedeki 3306 numaralı bağlantı noktasına iletecek bir SSH tüneli oluşturacaktır:
ssh -NL 3307:localhost:3306 root@REMOTE_HOST
İstendiğinde, uzak makinedeki kök kullanıcının parolasını girmelisiniz. Bu tüneli açacak. Bunu arka planda çalıştırmak istiyorsanız, -f
argümanı eklemeniz ve Parolasız SSH'yi ayarlamanız gerekir. yerel makineniz ile uzak makine arasında gerekir.
SSH tüneli çalıştıktan sonra, uzak sunucuyu /etc/phpmyadmin/config.inc.php
dosyayı değiştirerek yerel phpMyAdmin'inizdeki sunucular listesine ekleyebilirsiniz . Dosyanın sonuna aşağıdakileri ekleyin:
$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++;
Ek yardıma ihtiyacınız olması durumunda, tam olarak bunun hakkında daha ayrıntılı bir blog yazısı yazdım .
$++
en azından benim varsayılan phpmyadmin.conf için kesinlikle ilk satır olmalı, son değil.
Bu yapılabilir, ancak phpMyAdmin yapılandırmasını değiştirmeniz gerekir, bu yazıyı okuyun: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
Herhangi bir nedenle bağlantı koparsa, aşağıdaki adımları kullanabilirsiniz:
config.inc.php
$cfg['Servers'][$i]['host']
Değişkeni bulun ve uzak sunucunuzun IP veya ana bilgisayar adına ayarlayın$cfg['Servers'][$i]['port']
Değişkeni bulun ve uzaktaki mysql bağlantı noktasına ayarlayın. Genellikle bu3306
$cfg['Servers'][$i]['user']
Ve $cfg['Servers'][$i]['password']
değişkenlerini bulun ve bunları uzak sunucu için kullanıcı adınıza ve şifrenize ayarlayınDoğru sunucu yapılandırması olmadan, bağlantı yerel bir bağlantıdan daha yavaş olabilir, sunucunun IP adresini ana bilgisayar adından aramak zorunda kalmaması için ana bilgisayar adları yerine IP adreslerinin kullanılması muhtemelen biraz daha hızlı olacaktır.
Ayrıca, bu şekilde bağlandığınızda uzak veritabanınızın kullanıcı adı ve şifresinin düz metin olarak saklandığını unutmayın, bu nedenle kimsenin bu yapılandırma dosyasına erişemediğinden emin olmak için adımlar atmalısınız. Alternatif olarak, her giriş yaptığınızda kullanıcı adı ve şifre değişkenlerini boş bırakmanız istenebilir; bu da çok daha güvenlidir.
Bu blog gönderisini takip edin. Çok kolay bir şekilde yapabilirsiniz. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
Config.inc.php dosyası phpMyAdmin kurulumunuz için yapılandırma ayarlarını içerir. Bağlanabileceği her sunucu için yapılandırma seçenekleri kümesini saklamak için bir dizi kullanır ve varsayılan olarak yalnızca bir tane, kendi makineniz veya localhost vardır. Başka bir sunucuya bağlanmak için, yapılandırma dizisine başka bir yapılandırma seçeneği seti eklemeniz gerekir. Bu yapılandırma dosyasını düzenlemeniz gerekir.
İlk önce phpMyAdmin klasöründe bulunan config.inc.php dosyasını açın . In wamp sunucuda, bunu bulabileceğiniz wamp \ apps \ phpmyadmin klasörü. Ardından aşağıdaki dosyayı bu dosyaya ekleyin.
$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';
Bu değişkenlerin ne anlama geldiğini görelim.
$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
Bu yapılandırma bölümünü ekledikten sonra sunucunuzu yeniden başlatın ve şimdi phpMyAdmin giriş sayfanız değişecek ve sunucuyu seçmek için bir alan gösterecektir.
Artık sunucunuzu seçebilir ve o veritabanı için kullanıcı adı ve şifre girerek uzak veritabanınıza erişebilirsiniz.
Yanıt c.hill cevabında belirtildiği gibi, güvenli bir çözüm istiyorsanız, sunucunuza bir SSH tüneli açmanızı tavsiye ederim.
Windows kullanıcıları için bunu yapmanın yolu :
Putty web sitesinden Plink ve Putty'yi indirin ve dosyaları istediğiniz klasöre yerleştirin (Örneğimde C:\Putty
)
Windows konsolunu ve cd to Plink klasörünü açın:
cd C:\Putty
SSH tünelini açın ve 3307 numaralı bağlantı noktasına yönlendirin:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
Nerede:
Son olarak PhpMyAdmin'i ayarlayabilirsiniz:
Eklenecek satırlar:
$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
Uzak sunucunuza her bağlanmanız gerektiğinde konsolu açmak istemiyorsanız, bir toplu iş dosyası oluşturun (2 komut satırını bir .bat dosyasına kaydederek).
Bunu bir yorum olarak eklerdim, ancak itibarım henüz yeterince yüksek değil.
4.5.4.1deb2ubuntu2 sürümü altında ve ben 4.5.x veya daha yeni sürümleri tahmin ediyorum. Config.inc.php dosyasını değiştirmeye gerek yoktur. Bunun yerine bir dizin daha gidin. Conf.d.
'.Php' uzantılı yeni bir dosya oluşturun ve satırları ekleyin. Bu daha iyi modüler bir yaklaşımdır ve her uzak veritabanı sunucusu erişim bilgisini izole eder.
Ubuntu bölgesinde
PHPMyAdmin klasöründeki tek bir dosyayı değiştirmeniz yeterlidir, yani “config.inc.php”. “Config.inc.php” dosyasına sadece aşağıdaki satırları ekleyin.
Dosya konumu : /var/lib/phpmyadmin/config.inc.php
VEYA
/etc/phpmyadmin/config.inc.php
Belki bu dosyayı düzenleme izniniz yok, sadece bu komutu kullanarak izin verin
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
VEYA (farklı sistemlerde bu iki konumu kontrol etmeniz gerekebilir)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
Ardından kodu kopyalayıp config.inc.php
dosyanıza yapıştırın
$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;
Ve sunucu bilgilerinizle uygun değişiklikleri yapın
Yöntem 1 (çoklu dönüştürücü için)
İlk olarak, orijinal yapılandırmanın bir yedeğini alalım.
sudo cp /etc/phpmyadmin/config.inc.php ~/
Şimdi / usr / share / doc / phpmyadmin / samples / içinde config.manyhosts.inc.php dosyasını göreceksiniz . Aşağıdaki komutu kullanarak / etc / phpmyadmin / dizinine kopyalayın :
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
/etc/phpmyadmin/config.inc.php
Config.inc.php dosyasını düzenleyin
sudo nano /etc/phpmyadmin/config.inc.php
Aramak :
$hosts = array (
"foo.example.com",
"bar.example.com",
"baz.example.com",
"quux.example.com",
);
Ve ip veya ana bilgisayar adı dizinizi kaydedin (nano CTRL + X'de Y'ye basın) ekleyin ve çıkın. Bitti
Yöntem 2 (tek sunucu) config.inc.php dosyasını düzenleyin
sudo nano /etc/phpmyadmin/config.inc.php
Aramak :
/* 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;
}
Şununla değiştir:
$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';
192.168.1.100'ü kendi mysql ip sunucunuzla değiştirmeyi unutmayın.
Kötü İngilizcem için özür dilerim (google translate suçu var: D)
Test ettiğimde config.default.php dosyasını bulur
o zaman bul $ cfg ['AllowArbitraryServer'] = yanlış;
sonra doğru olarak ayarlayın
not: ubuntu üzerinde /usr/share/phpmyadmin/libraries/config.default.php yolundaki dosya
o zaman ana PHPMyAdmin sayfasında yeni bir dosya adı SERVER bulacaksınız, buna yerel veritabanı için herhangi bir IP veya localhost ekleyebilirsiniz.
Wamp Sunucusu Yüklü Windows'ta yapılandırma dosyasını bulabilirsiniz
C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php
Boşluk hattını uygun şekilde değiştirin
$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'] = '';
Sitesinin tüm girişlerini sil /etc/http/conf.d/phpMyAdmin.conf
Ve aşağıda yukarıdaki dosyaya girer,
<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>
Sonra,
MySQL komut isteminde aşağıdaki komutu çalıştırın,
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
Referans için: IP'nin Güvenli PhpMyAdmin'e Erişmesine İzin Ver
phpmyadmin
docker görüntüsünü yerel olarak kurabilir ve uzak MySQL sunucunuza bağlanabilirsiniz. burada daha fazla ayrıntı :docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin