Zakładając, że istnieje zdalny serwer i mam klienta phpMyAdmin zainstalowanego lokalnie na moim komputerze. Jak mogę uzyskać dostęp do tego serwera i zarządzać nim przez klienta phpMyAdmin? Czy to jest możliwe?
mysql
phpmyadmin
MichalB
źródło
źródło
phpmyadmin
obraz dockera lokalnie i połączyć się ze zdalnym serwerem MySQL. więcej szczegółów tutaj :docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin
Odpowiedzi:
Po prostu dodaj poniższe wiersze do
/etc/phpmyadmin/config.inc.php
pliku na dole:. Pojawi się lista rozwijana „Bieżący serwer:” z zarówno „127.0.0.1”, jak i jednym z przełączników krzywkowych „$ cfg ['Servers'] [$ i] ['host']” między serwerami.
więcej szczegółów: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
źródło
$i++
To ważny punkt, ponieważ nie pozwoli nam stracić połączenie z bazą danych z domyślnegolocalhost
./etc/phpmyadmin/config.inc.php
to poprawny plik do zmianyconfig.inc.php
plik znajduje się wApplications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
pliku.Z pewnością jest możliwy dostęp do zdalnego serwera MySQL z lokalnej instancji phpMyAdmin, jak wskazywały inne odpowiedzi. Aby to zadziałało, musisz skonfigurować serwer MySQL zdalnego serwera, aby akceptował połączenia zdalne i zezwalał na ruch przez zaporę ogniową dla numeru portu, którego MySQL nasłuchuje. Wolę nieco inne rozwiązanie obejmujące tunelowanie SSH .
Następujące polecenie skonfiguruje tunel SSH, który przekieruje wszystkie żądania wysłane do portu 3307 z komputera lokalnego do portu 3306 na komputerze zdalnym:
Po wyświetleniu monitu należy wprowadzić hasło użytkownika root na komputerze zdalnym. To otworzy tunel. Jeśli chcesz uruchomić to w tle, musisz dodać
-f
argument i skonfigurować SSH bez hasła między komputerem lokalnym a komputerem zdalnym.Po uruchomieniu tunelu SSH możesz dodać zdalny serwer do listy serwerów w lokalnym phpMyAdminie, modyfikując
/etc/phpmyadmin/config.inc.php
plik. Dodaj na końcu pliku:Napisałem bardziej szczegółowy wpis na blogu dokładnie o tym, na wypadek gdybyś potrzebował dodatkowej pomocy.
źródło
$++
zdecydowanie powinien być pierwszą linią, a nie ostatnią, przynajmniej dla mojego domyślnego phpmyadmin.conf.Można to zrobić, ale musisz zmienić konfigurację phpMyAdmina, przeczytaj ten post: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
Jeśli z jakiegoś powodu link zniknie, możesz wykonać następujące czynności:
config.inc.php
$cfg['Servers'][$i]['host']
zmienną i ustaw ją na adres IP lub nazwę hosta zdalnego serwera$cfg['Servers'][$i]['port']
zmienną i ustaw ją na zdalny port mysql. Zwykle tak jest3306
$cfg['Servers'][$i]['user']
i$cfg['Servers'][$i]['password']
zmienne i ustawić je do swojej nazwy użytkownika i hasła do zdalnego serweraBez odpowiedniej konfiguracji serwera połączenie może być wolniejsze niż na przykład połączenie lokalne, prawdopodobnie byłoby nieco szybsze użycie adresów IP zamiast nazw hostów, aby uniknąć konieczności wyszukiwania adresu IP na podstawie nazwy hosta.
Ponadto pamiętaj, że nazwa użytkownika i hasło do zdalnej bazy danych są przechowywane w postaci zwykłego tekstu, gdy łączysz się w ten sposób, więc powinieneś podjąć kroki, aby nikt nie miał dostępu do tego pliku konfiguracyjnego. Alternatywnie możesz pozostawić zmienne nazwy użytkownika i hasła puste, aby przy każdym logowaniu pojawiał się monit o ich wprowadzenie, co jest o wiele bezpieczniejsze.
źródło
Śledź ten wpis na blogu. Możesz to zrobić bardzo łatwo. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
Plik config.inc.php zawiera ustawienia konfiguracyjne instalacji phpMyAdmina. Używa tablicy do przechowywania zestawów opcji konfiguracyjnych dla każdego serwera, z którym może się połączyć, a domyślnie jest tylko jeden, twoja maszyna lub localhost. Aby połączyć się z innym serwerem, musiałbyś dodać kolejny zestaw opcji konfiguracyjnych do tablicy konfiguracyjnej. Musisz edytować ten plik konfiguracyjny.
Najpierw otwórz plik config.inc.php przechowywany w folderze phpMyAdmin . Na serwerze wampa możesz go znaleźć w folderze wamp \ apps \ phpmyadmin . Następnie dodaj następującą część do tego pliku.
Zobaczmy, jakie jest znaczenie tych zmiennych.
Po dodaniu tej części konfiguracyjnej zrestartuj serwer, a teraz strona główna phpMyAdmina zmieni się i pokaże pole do wyboru serwera.
Teraz możesz wybrać serwer i uzyskać dostęp do zdalnej bazy danych, wprowadzając nazwę użytkownika i hasło do tej bazy danych.
źródło
Jak stwierdzono w odpowiedzi c.hill answer, jeśli chcesz mieć bezpieczne rozwiązanie , radziłbym otworzyć tunel SSH do twojego serwera.
Oto sposób na zrobienie tego dla użytkowników systemu Windows :
Pobierz Plink and Putty ze strony internetowej Putty i umieść pliki w wybranym folderze (w moim przykładzie
C:\Putty
)Otwórz konsolę Windows i przejdź do folderu Plink:
cd C:\Putty
Otwórz tunel SSH i przekieruj do portu 3307:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
Gdzie:
Wreszcie możesz skonfigurować PhpMyAdmin:
Linie do dodania:
http://127.0.0.1/phpmyadmin
Jeśli nie chcesz otwierać konsoli za każdym razem, gdy chcesz łączyć się ze zdalnym serwerem, po prostu utwórz plik wsadowy (zapisując 2 wiersze poleceń w pliku .bat).
źródło
Możesz ustawić w pliku config.inc.php instalacji phpMyAdmin.
źródło
Dodałbym to jako komentarz, ale moja reputacja nie jest jeszcze wystarczająco wysoka.
W wersji 4.5.4.1deb2ubuntu2 i zgaduję inne wersje 4.5.x lub nowsze. W ogóle nie ma potrzeby modyfikowania pliku config.inc.php. Zamiast tego przejdź do jeszcze jednego katalogu w dół conf.d.
Utwórz nowy plik z rozszerzeniem „.php” i dodaj linie. Jest to lepsze podejście modułowe i izoluje informacje o dostępie do każdego zdalnego serwera bazy danych.
źródło
Przejdź do pliku \ phpMyAdmin \ config.inc.php na samym dole, zmień szczegóły hostingu, takie jak host, nazwa użytkownika, hasło itp.
źródło
W Ubuntu
Wystarczy zmodyfikować pojedynczy plik w folderze PHPMyAdmin, np. „Config.inc.php”. Po prostu dodaj poniższe wiersze do swojego „config.inc.php”.
Lokalizacja pliku:
/var/lib/phpmyadmin/config.inc.php
LUB/etc/phpmyadmin/config.inc.php
Może nie masz uprawnień do edycji tego pliku, po prostu nadaj uprawnienia za pomocą tego polecenia
LUB (w różnych systemach może być konieczne sprawdzenie tych dwóch lokalizacji)
Następnie skopiuj i wklej kod do swojego
config.inc.php
plikuWprowadź odpowiednie zmiany w danych serwera
źródło
Metoda 1 (dla wielu serwerów)
Najpierw zróbmy kopię zapasową oryginalnej konfiguracji.
Teraz w / usr / share / doc / phpmyadmin / examples / zobaczysz plik config.manyhosts.inc.php . Po prostu skopiuj do / etc / phpmyadmin / używając polecenia poniżej:
Edytuj plik config.inc.php
Szukaj :
I dodaj zapisywanie tablicy IP lub nazwy hosta (w nano CTRL + X naciśnij Y) i wyjdź. Gotowe
Metoda 2 (pojedynczy serwer) Edytuj plik config.inc.php
Szukaj :
I zamień na:
Pamiętaj, aby zastąpić adres 192.168.1.100 własnym serwerem ip mysql.
Przepraszam za mój zły angielski (winę ponosi tłumacz Google: D)
źródło
Podczas testu znajduję plik config.default.php
następnie znajdź $ cfg ['AllowArbitraryServer'] = false;
następnie ustaw wartość true
uwaga: na Ubuntu plik w ścieżce /usr/share/phpmyadmin/libraries/config.default.php
wtedy na głównej stronie PHPMyAdmin znajdziesz nową nazwę pliku SERVER, możesz dodać do niej dowolny adres IP lub localhost dla lokalnej bazy danych.
źródło
W systemie Windows z zainstalowanym serwerem Wamp możesz znaleźć plik konfiguracyjny
Zmień odpowiednio linię śruby
źródło
Usuń całe wpisy z
/etc/http/conf.d/phpMyAdmin.conf
A poniżej wpisuje się w powyższym pliku,
Następnie,
uruchom poniższe polecenie w wierszu polecenia MySQL,
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
Dla odniesienia: Zezwól IP na dostęp do zabezpieczonego PhpMyAdmin
źródło