phpMyAdmin - Błąd> Nieprawidłowy parametr formatu?


119

Mam witrynę produkcyjną WordPress.

Wyeksportowałem bazę danych za pomocą następujących poleceń: select database > export > custom > select all tables > select .zip compression > 'Go'

Pobrałem plik example.sql.zip, ale kiedy przesyłam do mojego localhost, pojawia się ten błąd: phpMyAdmin - Error > Incorrect format parameter

Próbowałem wyeksportować w innych formatach i otrzymuję ten sam błąd.

Próbowałem z innymi bazami danych SQL i dobrze eksportuje / importuje.

Co to mogło być? Uszkodzona baza danych lub inna?

Dzięki


czy masz rozwiązanie
Shiva Sai,

nie. Dziwię się, że nie ma na to poparcia ...
henry

W moim przypadku, przed wyrzuceniem zapytanie rozwiązał problem wybrać schemat / tabeli (dowolny) ...
SubjectDelta

Odpowiedzi:


342

Ten problem nie jest spowodowany uszkodzoną bazą danych. Znalazłem rozwiązanie z tego filmu - https://www.youtube.com/watch?v=MqOsp54EA3I

Sugeruje się zwiększenie wartości dwóch zmiennych w pliku php.ini. Zmiana w php.ini

upload_max_filesize=64M
post_max_size=64M

Następnie zrestartuj serwer.

To rozwiązało mój problem. Nadzieja też rozwiązuje Twoje.


2
Dzięki za pomysł, który był dobry, jednak nadal nie działał. Naprawdę nie mam tu pomysłów ...
henry

15
max_exection_timeRównie dobrze może to zwiększyć, ponieważ baza danych może być duża i wyzwolić przekroczenie limitu czasu.
VeeK

zgadza się ... obie konfiguracje razem to poprawna odpowiedź. nie pierwsza pozycja. Próbuję rozwiązać według pierwszej pozycji i nie mogę. ale kiedy drugi rozwiązany. dzięki, StackOverflow dzięki pooja.
saber tabatabaee yazdi

1
Zobacz to pytanie również, jeśli używasz MAMP, ponieważ możesz mieć trudności ze znalezieniemphp.ini, tak jak ja.
GDP2

Działa świetnie. Dziękuję Ci!
user3312884

41

Skompresuj .sqlplik i nadaj mu nazwę .[format].[compression], tj database.sql.zip.

Jak wspomniano powyżej, PhpMyAdmin zgłasza ten błąd, jeśli twój .sqlplik jest większy niż maksymalny dozwolony rozmiar wysyłania - ale w moim przypadku maksymalny to 50 MiB pomimo tego, że ustawiłem wszystkie opcje wymienione w poprzednich odpowiedziach (poszukaj "Max: 50 MiB" obok przycisku przesyłania w PhpMyAdmin).


1
To zadziałało dla mnie. Miałem max_execution_time=0i post_max_size=100M, ale plik 80 MB nadal wyświetlał błąd. Zapięcie, jak załatwił sprawę file.sql.zip.
jogi99

To rozwiązało mój problem. Mój plik sql był tylko nieznacznie większy niż maksymalny rozmiar, ale zauważ, że kompresja może znacznie zmniejszyć rozmiar: w moim przypadku 16-krotnie.
Paul

To mi pomogło. Miałem ustawione 100 MB w php.ini, a plik generował błąd przy 46% wysyłania, czyli 43 MB. Spakowałem to i nie ma problemu.
Doug Wolfgram

33

Dla mnie dostosowanie 2 wartości nie wystarczyło. Jeśli plik jest zbyt duży, musisz również dostosować zmienne czasu wykonywania.

Najpierw ../php/php.ini

upload_max_filesize=128M
post_max_size=128M
max_execution_time=1000

Następnie ../phpMyAdmin\libraries\config.default.php

$cfg['ExecTimeLimit'] = 1000;

To załatwiło sprawę dla mnie. Oczywiście zmienne można wybrać inaczej. Może czas wykonania musi być jeszcze dłuższy. Rozmiar zależy od rozmiaru pliku.


20

Żadna z tych odpowiedzi nie zadziałała dla mnie. Musiałem użyć wiersza poleceń:

mysql -u root db_name < db_dump.sql
SET NAMES 'utf8';
SOURCE db_dump.sql;

Gotowe!


Obrigado @Pedro! :)
Luis Gouveia

Dzieki za sugestie. Działał jak urok!
mithushancj

6

Właśnie przeszedłem przez ten sam problem, próbując zaimportować plik CSV (400 MB), a także pojawił się błąd na czerwono

Błąd - nieprawidłowy parametr formatu

Początkowo myślałem, że to mogły być parametry i ponownie przetestowano. Szybciej, z mojego poprzedniego eksperymentu z nim, zdałem sobie sprawę, że jest to spowodowane innymi przyczynami (rozmiar pliku, wykonanie skryptu ma zdefiniowany maksymalny czas itp.).

Więc przeszedłem do php.ini

php.ini

i zmienił wartości z następujących ustawień

max_execution_time = 3000
max_input_time = 120
memory_limit = 512M
post_max_size = 1500M
upload_max_filesize = 1500M 

Po tej modyfikacji zatrzymał MySQL i Apache i uruchomił je ponownie, przeszedł do phpmyadmin próbując zaimportować. Wtedy doszedłem do kolejnego błędu

Błąd krytyczny: przekroczono maksymalny czas wykonywania 300 sekund

który został naprawiony poprzez proste ustawienie w xampp / phpmyadmin / libraries / config.default.php

config.default.php

$cfg['ExecTimeLimit'] = 0;

Ustawienie wartości 0 wyłącza limity czasu wykonywania.

Po chwili import przebiegł bez problemów.



3

Bez żadnych problemów zaimportowałem bezpośrednio z wiersza poleceń.

mysql -uroot -hURLServer -p DBName< filename.sql

2

Ten błąd jest spowodowany faktem, że maksymalny rozmiar wysyłania to (Max: 2048 KB). Jeśli plik jest większy niż ten, pojawi się błąd. Spakuj plik i prześlij go ponownie, nie otrzymasz błędu.


2

Jeśli używasz docker-compose, po prostu ustaw UPLOAD_LIMIT

phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
        UPLOAD_LIMIT: 1G

2

Uwaga: jeśli używasz MAMP, MUSISZ edytować plik za pomocą wbudowanego edytora.

Wybierz PHP w sekcji języków (kolumna menu LH) Następnie w głównym panelu obok listy rozwijanej wersji domyślnej kliknij małą strzałkę skierowaną w prawo. Spowoduje to uruchomienie php.inipliku za pomocą edytora tekstu MAMP. Wszelkie zmiany wprowadzone w tym pliku zostaną zachowane po ponownym uruchomieniu serwerów.

Edycja pliku Application->MAMP->bin->php->{choosen the version}->php.ininie zadziała. Ponieważ aplikacja nadpisuje wszelkie wprowadzone zmiany.

Nie trzeba dodawać: „Oto smoki!” więc wytnij i wklej kopię oryginału i przechowuj ją w bezpiecznym miejscu na wypadek katastrofy.wprowadź opis obrazu tutaj


1

Wystąpił ten błąd, a ponieważ korzystam z hostingu współdzielonego, nie mam dostępu do php.ini, więc nie byłem pewien, jak mogę to naprawić, host również nie miał pojęcia. W końcu opróżniłem pamięć podręczną przeglądarki i ponownie załadowałem phpmyadmin i wróciło!


0

Miałem ten problem, ale z kontenerem docker (użytkownicy phpmyadmin),

Rozwiązanie:

  • Wejdź do kontenera phpmyadmin docker exec -it idcontainer /bin/bash
  • Ruszaj się cd /usr/local/etc/php/
  • Utwórz php.iniplik
  • Zmodyfikuj to upload_max_filesize=128M post_max_size=128M max_execution_time=1000
  • Zapisz i uruchom ponownie kontener.

Ten problem wystąpił na komputerze z systemem Windows, w systemie Linux nie musiałem tego robić.


0

Jeśli wolisz edytować plik php.iniw swoim ulubionym edytorze niż w edytorze stworzonym przez MAMP, musisz najpierw zatrzymać serwery.

Następnie udaj się Library->Application Support->appsolute->MAMP PRO->templates->php{version_number}.ini.tempi wprowadź dowolną zmianę, którą chcesz wprowadzić, szczególnie poniżej

max_execution_time = 3000
max_input_time = 60
memory_limit = 128M
post_max_size = 256M
upload_max_filesize 256M

A także wprowadź zmiany w swoim PHPMyAdmin, jeśli tego właśnie używasz w Cpanel.

$cfg['ExecTimeLimit'] = 300;

Upewnij się, że wykonałeś kopię oryginalnego pliku . Możesz przejść pod conf! Tutaj

wprowadź opis obrazu tutaj


-1

Żadna z powyższych odpowiedzi nie rozwiązała tego za mnie.

Nie mogę nawet znaleźć folderu „biblioteki” w moim xampp - również ubuntu.

Po prostu uruchomiłem ponownie, używając następujących poleceń:

sudo service apache2 restart

i

sudo service mysql restart

Just restarted apache and mysql. Logged in phpmyadmin again and it worked as usual.

Dzięki mi .. !!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.