Chcę zaimportować plik sql o wielkości około 12 mb. Ale powoduje to problem podczas ładowania. Czy istnieje sposób na przesłanie go bez dzielenia pliku sql?
Chcę zaimportować plik sql o wielkości około 12 mb. Ale powoduje to problem podczas ładowania. Czy istnieje sposób na przesłanie go bez dzielenia pliku sql?
Odpowiedzi:
Spróbuj zaimportować go z konsoli mysql zgodnie z gustem twojego systemu operacyjnego.
mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file.sql path}
lub jeśli znajduje się na serwerze zdalnym, użyj opcji -h, aby określić hosta.
mysql -u {DB-USER-NAME} -h {MySQL-SERVER-HOST-NAME} -p {DB-NAME} < {db.file.sql path}
mysql
na serwerze w przypadku jednej migracji. Dzięki za pomoc! (Nie potrzebowałem też nawiasów)
3 rzeczy, które musisz zrobić:
w php.ini
instalacji php (uwaga: w zależności od tego, czy chcesz go używać dla CLI, apache lub nginx, znajdź odpowiedni plik php.ini do manipulowania)
post_max_size=500M
upload_max_filesize=500M
memory_limit=900M
lub ustaw inne wartości.
Zrestartuj / przeładuj apache, jeśli masz zainstalowany apache lub php-fpm dla nginx, jeśli używasz nginx.
Zdalny serwer?
zwiększać się max_execution_time
, ponieważ przesłanie pliku zajmie trochę czasu.
Instalacja NGINX?
trzeba będzie dodać: client_max_body_size 912M;
w /etc/nginx/nginx.conf
do http{...}
bloku
/etc/php/7.1/apache2/php.ini
nie zadziałała
phpinfo()
i sprawdź, czy wartości zostały ustawione poprawnie, a serwer został zrestartowany
Edytuj plik config.inc.php znajdujący się w katalogu phpmyadmin. W moim przypadku znajduje się pod adresemC:\wamp\apps\phpmyadmin3.2.0.1\config.inc.php
.
Znajdź linię oznaczoną $cfg['UploadDir']
na niej i zaktualizuj ją do$cfg['UploadDir'] = 'upload';
Następnie utwórz katalog o nazwie `` upload '' w katalogu phpmyadmin (dla mnie pod adresem C:\wamp\apps\phpmyadmin3.2.0.1\upload\
).
Następnie umieść duży plik SQL, który próbujesz zaimportować, do nowego upload
katalogu. Teraz, kiedy przejdziesz do strony importu bazy danych w konsoli phpmyadmin, zauważysz rozwijaną listę, której wcześniej nie było - zawiera wszystkie pliki sql w katalogu upload, który właśnie utworzyłeś. Możesz teraz to zaznaczyć i rozpocząć import.
Jeśli nie używasz WAMP w systemie Windows, jestem pewien, że będziesz w stanie dostosować to do swojego środowiska bez większych problemów.
Źródła: http://daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/comment-page-4/
config.default.php
tym samym katalogu, używam phpmyadmin w wersji 4.6.4
libraries/config.default.php
Rozwiązanie dla użytkowników LINUX (uruchom z sudo)
Utwórz katalogi „upload” i „save”:
mkdir /etc/phpmyadmin/upload
mkdir /etc/phpmyadmin/save
chmod a+w /etc/phpmyadmin/upload
chmod a+w /etc/phpmyadmin/save
Następnie edytuj plik konfiguracyjny phpmyadmin:
gedit /etc/phpmyadmin/config.inc.php
Na koniec dodaj bezwzględną ścieżkę dla obu katalogów „upload” i „save”:
$cfg['UploadDir'] = '/etc/phpmyadmin/upload';
$cfg['SaveDir'] = '/etc/phpmyadmin/save';
Teraz po prostu upuść pliki w /etc/phpmyadmin/upload
folderze, a będziesz mógł je wybrać z phpmyadmin.
Mam nadzieję, że to pomoże.
File could not be read!
wysyła mi komunikat, gdy klikam przycisk przesyłania w formularzu przesyłania. W połowie rozwiązywania tego problemu.
sudo chmod 777 your-filename.sql
Tylko jedna linia i gotowe (upewnij się, że polecenie mysql jest dostępne jako globalne lub po prostu przejdź do folderu instalacyjnego mysql i wejdź do folderu bin)
mysql -u database_user_name -p -D database_name < complete_file_path_with_file_name_and_extension
Tutaj
u
oznacza użytkownikap
oznacza hasłoD
oznacza bazę danych--- NIE ZAPOMNIJ DODAĆ <
ZNAKU PO NAZWIE BAZY DANYCH ---
Pełna ścieżka do pliku z nazwą i rozszerzeniem może wyglądać jak
c:\folder_name\"folder name"\sql_file.sql
--- JEŚLI TWÓJ FOLDER I NAZWA PLIKU ZAWIERA MIEJSCE, NIŻ POWIĄZUJ ICH PODWÓJNYM CYTATEM ---
Wskazówka i uwaga: możesz wpisać swoje hasło później, -p
ale nie jest to zalecane, ponieważ będzie ono widoczne dla innych osób, które oglądają Twój ekran w tym czasie, jeśli nie napiszesz tam, zapyta Cię, kiedy wykonasz polecenie, naciskając klawisz Enter.
Utwórz plik zip lub tar i prześlij w phpmyadmin to wszystko ..!
Udało mi się zaimportować duży .sql
plik, mając następującą konfigurację w httpd.conf
pliku:
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
</Directory>
Będziesz musiał edytować plik php.ini. zmień następująceupload_max_filesize
post_max_size
aby dostosować się do rozmiaru pliku.
Próbuję biegać, phpinfo()
aby zobaczyć ich aktualną wartość. Jeśli nie możesz zmienić pliku php.ini bezpośrednio, spróbuj ini_set ()
Jeśli to również nie jest możliwe, możesz spróbować bigdump .
Nie rozumiem, dlaczego nikt nie wspomina o najprostszym sposobie ... po prostu podziel duży plik na http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/ i po prostu uruchom vie admin mySQL rozdzielone wygenerowane pliki, zaczynając od tego ze strukturą
W tym celu będziesz musiał edytować php.ini
plik, jeśli korzystasz z serwera ubuntu, to jest link Prześlij duży plik w phpMyAdmin może ci pomóc.
Natknąłem się na artykuł i to działało najlepiej dla mnie
Dysk twardy »Aplikacje» MAMP »bin» config.inc.php
$cfg[‘UploadDir’]
- będzie wyglądać tak:$cfg['UploadDir'] = '';
$cfg['UploadDir'] = 'upload';
Następnie w katalogu phpmyadmin utwórz nowy folder i nadaj mu nazwę.
Weź ten duży plik .sql, który próbujesz zaimportować, i umieść go w nowym folderze przesyłania.
Teraz następnym razem, gdy będziesz importować bazę danych do phpMyAdmina, zobaczysz nowe pole rozwijane tuż pod standardowym obszarem przeglądania w sekcji „Plik do importu”.
Ok, używasz PHPMyAdmin, ale czasami najlepszym sposobem jest przez terminal:
mysql -h localhost -u root -p
(przełącz root i localhost dla użytkownika i lokalizacji bazy danych)\. /path/to/your/file.sql
I to wszystko. Pamiętaj tylko, że jeśli jesteś na serwerze zdalnym, musisz przesłać plik .sql do jakiegoś folderu.
odpowiedź dla osób ze współdzielonym hostingiem. Najlepiej użyć tego małego skryptu, którego właśnie użyłem do zaimportowania pliku DB o wielkości 300 MB na mój serwer. Skrypt nazywa się Big Dump.
udostępnia skrypt do importowania dużych baz danych na serwerach o ograniczonych zasobach
W MAMP możesz ładować ogromne pliki przez:
tworzenie nowego folderu w tym katalogu / MAMP / bin / phpMyAdmin / „nazwa_folderu”
a następnie edytuj wiersz „/MAMP/bin/phpMyAdmin/config.inc.php” 531:
$cfg['UploadDir']= 'folderName';
Skopiuj pliki .sql lub .csv do tego folderu.
Teraz będziesz mieć inną opcję w "PhpMyAdmin": Wybierz z katalogu do załadowania serwera WWW newFolder /: Możesz wybrać swój plik i zaimportować go.
Możesz teraz załadować dowolny plik !!
Najlepszym sposobem na przesłanie dużego pliku nie jest użycie phpmyadmin. powoduje, że phpmyadin najpierw przesyła plik przy użyciu klasy php upload, a następnie wykonuje sql, co powoduje, że przez większość czasu upływa jego czas.
najlepszym sposobem jest: wejdź do folderu wamp> bin> mysql> bin dirrectory, a następnie napisz tę linię
mysql -u root -p listnames <latestdb.sql tutaj nazwy_listy to nazwa bazy danych. Najpierw utwórz pustą bazę danych, a lastdb.sql to nazwa twojego pliku sql, w którym znajdują się twoje dane.
ale jedną ważną rzeczą jest to, czy plik bazy danych zawiera dane Unicode. musisz otworzyć swój plik latestdb.sql i jedną linię przed każdą linią. linia to:
NAZWY ZESTAWÓW utf8; następnie w trybie poleceń uruchom ten kod skryptu
Zmień ustawienia serwera, aby umożliwić przesyłanie plików większych niż 12 MB i wszystko powinno być w porządku. Zwykle ustawienia serwera są ustawione na 5 do 8 MB do przesyłania plików.
Jednym z rozwiązań jest użycie wiersza poleceń;
mysql -h yourhostname -u username -p databasename < yoursqlfile.sql
Po prostu upewnij się, że ścieżka do pliku SQL do zaimportowania jest wyraźnie określona.
W moim przypadku użyłem tego;
mysql -h localhost -u root -p databasename < /home/ejalee/dumps/mysqlfile.sql
Voila! Możesz ruszać.
Zrobiłem skrypt PHP, który jest przeznaczony do importowania dużych zrzutów bazy danych, które zostały wygenerowane przez phpmyadmin. Nazywa się PETMI i możesz go pobrać tutaj [strona projektu] [strona gitlab] . Został przetestowany z bazą danych 1 GB.
mysql workbench
lubmysql Yog