Envato Elements - pobieraj co chcesz, ile chcesz

Choć operacje na bazach danych MySQL (np. kopia zapasowa) często wykonuje z wiersza poleceń, to lubię też czasem sobie uprościć zadanie, i skorzystać z phpMyAdmin. Niedawno pomagałem znajomemu skonfigurować ten skrypt na jego serwerze, bo potrzebował zaimportować naprawdę duży plik, co spotykało się z permanentnym oporem. Oczywiście poradziłem mu by skorzystał z konsoli, ale przy okazji pokazałem pewny „trik”, tak by w przyszłości mógł za pomocą phpMyAdmin importować do bazy pliki już zapisane na serwerze (a ma ich kilka, bo w ramach testów często „żongluje” nimi).

phpMyAdmin: UploadDir i SaveDir

Zazwyczaj import (do) bazy za pomocą phpMyAdmin wygląda tak, że przechodzimy do zakładki „import”, wybieramy z naszego komputera plik i czekamy, aż zostanie zaimportowany. Jeśli plik jest spakowany, to szybciej się przesyła na serwer, ale wymagana jest trochę większa moc obliczeniowa do zaimportowania. Jeśli przesyłamy plik niespakowany, to oczywiście przesyła się dłużej, ale za to wymagania co do zasobów procesora są mniejsze. Przynajmniej w teorii, bo w praktyce to równie z tym bywa…

Do tego mamy jeszcze kilka dodatkowych opcji, jak choćby wznawianie importu w sytuacji, gdy z jakichś przyczyn operacja importu się nie udała. Warto pamiętać o tej opcji zwłaszcza w przypadku hostingów współdzielonych i większych baz danych, bo czasem potrafi to uratować… życie.

U znajomego podczas importu dużego pliku do bazy wyskakiwał taki oto komunikat:

Nie otrzymano żadnych danych do importu. Albo nie dostarczono nazwy pliku, albo jego rozmiar przekroczył rozmiar maksymalny, dozwolony przez twoją konfigurację PHP. Zobacz FAQ 1.16.

Można sobie z tym poradzić, choć z racji tego, że pomagałem zdalnie, i to jeszcze bez dostępu do jego serwera, to moje możliwości były dość ograniczone. Dlatego zaproponowałem, by rozwiązać problem inaczej – uaktywnić w phpMyAdmin możliwość importowania plików bezpośrednio z serwera, ze zdefiniowanego w ustawieniach katalogu. Jako dodatkową zaletę wskazałem fakt, że dzięki temu może mieć tam cały czas dostępną bazę w wersji „wyjściowej”, i jak podczas swoich testów coś „narozrabia”, to nieważne z jakiego komputera urządzenia by korzystał, zawsze będzie mógł ją przywrócić.

W tym celu wystarczy w pliku „config.inc.php” odszukać linijkę:

$cfg['UploadDir'] = '';

i zmienić ją np. na:

$cfg['UploadDir'] = '/ścieżka/na/twoim/serwerze/uploaddir';

Podobnie można zrobić z zapisywaniem (eksportowaniem) plików – można aktywować dodatkową opcję, dzięki której pliki można zapisać bezpośrednio na serwerze. Odpowiada za to opcja:

$cfg['SaveDir'] = '';

Tak wygląda w praktyce opcja importowania z pliku na serwerze:

A tak opcja eksportu do pliku na serwerze:

Przy poprawnie skonfigurowanym serwerze nawet jeśli ktoś postronny odgadłby adres URL do bazy (pliku) znajdującego się na serwerze nie powinien do niego (pliku) otrzymać uprawnienia. Ale dmuchając na zimne warto rozważyć wybranie katalogu poza ścieżką, która dostępna jest z internetu (w poradniku użyłem ścieżki wywnętrz phpMyAdmin dla uproszczenia przykładu) i/lub zablokować dostęp do tego zasobu do wybranych adresów IP, czy wręcz hosta lokalnego (localhost).

 

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Roztańczona Karolina dzięki motywowi Divi od Elegant Themes właśnie skończyła pierwszą stronę
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Janusz i Janusz zapisali się do Newslettera WebInsider.pl i... sobie chwalą