phpMyAdmin - 错误>格式参数不正确?

时间:2018-06-04 23:15:11

标签: database mysql

我有一个WordPress制作网站。

我已通过以下命令导出数据库:select database>出口>自定义>选择所有表>选择.zip压缩> '去'

我已经下载了example.sql.zip文件,但是当我上传到我的localhost时,我收到此错误:phpMyAdmin - 错误>格式参数不正确

我试图导出其他格式,但我得到同样的错误。

我已经尝试过使用其他SQL数据库并且导出/导入就好了。

它可能是什么?腐败的数据库还是其他?

由于

17 个答案:

答案 0 :(得分:129)

此问题不是因为数据库损坏。 我找到了此视频的解决方案 - https://www.youtube.com/watch?v=MqOsp54EA3I

建议增加php.ini文件中两个变量的值。 在php.ini中更改以下内容

upload_max_filesize=64M
post_max_size=64M

这解决了我的问题。希望也能解决你的问题。

答案 1 :(得分:14)

压缩您的.sql文件,并确保将其命名为.[format].[compression],即 database.sql.zip

如上所述,如果您的.sql文件大于允许的最大上传大小,则PhpMyAdmin会引发此错误-但是,在我的情况下,尽管我已设置了先前答案中提到的所有选项,但最大为50MiB(在PhpMyAdmin中的上传按钮旁边查找“ Max:50MiB”)。

答案 2 :(得分:8)

对我来说,仅调整2个值是不够的。如果文件太大,还需要调整执行时间变量。

首先,.. / php / php.ini

upload_max_filesize=128M
post_max_size=128M
max_execution_time=1000

然后../ phpMyAdmin \ libraries \ config.default.php

$cfg['ExecTimeLimit'] = 1000;

这帮了我大忙。当然可以选择不同的变量。也许执行时间必须更高。大小取决于您的文件大小。

答案 3 :(得分:5)

这些答案都不对我有用。我必须使用命令行:

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

完成!

答案 4 :(得分:5)

如果您使用docker-compose,只需设置UPLOAD_LIMIT

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

答案 5 :(得分:4)

没有任何问题,我直接从命令行导入。

tools 
- options 
  - environment
    - fonts and colors 

答案 6 :(得分:3)

我也遇到了这个错误,我正在使用 ubuntu 20.04PHP 8.0,所以我通过以下步骤解决了这个问题:

sudo nano /etc/php/8.0/apache2/conf.d/php.ini

在打开的文件中找到 upload_max_filesize, post_max_size, max_input_time, max_execution_time by CTRL + w 并增加这样的值:

max_execution_time = 3000
upload_max_filesize = 64M
max_input_time = 6000
upload_max_filesize = 64M

通过 CTRL + o 保存 INI 文件,然后通过 CTRL + x 关闭它。

然后通过以下命令重新启动您的 Web 服务器:

sudo service apache2 restart
<块引用>

注意:这4个参数不在一起,你必须找到它们 一一。

答案 7 :(得分:3)

在尝试导入CSV(400 MB)时遇到了同样的问题,并且也出现了红色提示错误

  

错误-格式参数不正确

最初认为它可能是参数并再次进行了测试。更快,根据我以前的经验,我意识到这是由于其他原因(文件大小,脚本的执行已定义了最大时间等)。

所以,我去了php.ini

php.ini

并从以下设置更改了值

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

此修改之后,停止了MySQL和Apache,然后再次启动它们,去phpmyadmin尝试导入。然后我到达了另一个error

  

致命错误:最长执行时间超过300秒

只需在xampp / phpmyadmin / libraries / config.default.php中进行设置即可解决

config.default.php

$cfg['ExecTimeLimit'] = 0;

将其设置为0将禁用执行时间限制。

然后,过一会儿,导入就没有问题了。

答案 8 :(得分:3)

注意:如果使用的是MAMP,则必须使用内置编辑器编辑文件。

在语言部分(LH菜单列)中选择PHP,然后在主面板中的默认版本下拉菜单旁边,单击指向右侧的小箭头。这将使用MAMP文本编辑器启动 php.ini 文件。重新启动服务器后,对该文件所做的任何更改都会保留。

无法通过Application->MAMP->bin->php->{choosen the version}->php.ini编辑文件。由于应用程序会覆盖您所做的所有更改。

不用说:“这是龙!”因此请剪切并粘贴原件的副本,以防万一将其存储在安全的地方。enter image description here

答案 9 :(得分:2)

我可以按照此处发布的步骤来解决此问题:https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/app/AlarmManager.java#L437

因为我没有使用XAMPP,所以我还需要将php.ini.default更新为php.ini,这最终解决了问题。

答案 10 :(得分:1)

我遇到了这个问题,但是有一个docker容器(phpmyadmin用户),

解决方案:

  • 输入phpmyadmin容器docker exec -it idcontainer /bin/bash
  • 移动cd /usr/local/etc/php/
  • 创建php.ini文件
  • 对其进行upload_max_filesize=128M post_max_size=128M max_execution_time=1000
  • 修改
  • 保存并重新启动容器。

此问题出在Windows PC上,在Linux上,我不需要这样做。

答案 11 :(得分:0)

以上答案都没有为我解决。

我什至在我的xampp中也找不到'libraries'文件夹-ubuntu。

因此,我只是使用以下命令重新启动:

sudo service apache2 restart

sudo service mysql restart

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

谢谢.. !!

答案 12 :(得分:0)

此错误是由于最大上传大小为(Max:2,048KiB)而引起的。如果文件大于此文件,则会出现错误。压缩文件并再次上传,您将不会收到错误消息。

答案 13 :(得分:0)

如果您希望使用自己喜欢的编辑器而不是MAMP创建的编辑器来编辑文件php.ini,则需要先停止服务器。

然后前往Library->Application Support->appsolute->MAMP PRO->templates->php{version_number}.ini.temp并进行您想进行的任何更改,尤其是以下内容

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

如果您在Cpanel中使用的是PHPMyAdmin,也请进行更改。

$cfg['ExecTimeLimit'] = 300;

确保您制作了原始文件的副本。您可以在 conf 下浏览!这里

enter image description here

答案 14 :(得分:0)

如果导入文件过大无法上传,共享主机无法修改参数,请尝试在您的电脑上安装HeidiSQL并从那里加载文件。

答案 15 :(得分:0)

当您按照此处所述更改 PHP 设置并继续导入数据库而不先重新启动 Apache 时,往往会发生这种情况。这会导致错误被触发。

答案 16 :(得分:0)

我遇到了这个错误,由于我在共享主机上,所以我无法访问php.ini,因此不确定如何解决该问题,主机似乎也没有任何提示。最后,我清空了浏览器缓存并重新加载了phpmyadmin,它又回来了!