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.