phpMyAdmin 无法导入从命令行导出的文件

phpMyAdmin 无法导入从命令行导出的文件

我有两台 Web 服务器:一台实时服务器(服务器 A)和一台开发服务器(服务器 B)。我经常需要从 B 导出整个数据库内容并导入到 A。以前,这是通过 phpMyAdmin 完成的:在 B 上选择数据库,导出,更改文件名,设置 gzip 压缩,然后转到。然后在 A 上导入。这个工作流程很好,但效率不高。

所以现在我们有一个 cron 作业,它使用 bash 文件中的以下脚本备份数据库:(为简洁起见,其他部分只是变量和 echo 语句)

mysqldump -u $user -h $host -p$pass $db_name | gzip -9 > $destination

在命令行中运行脚本不会出现任何错误,但当我尝试将其导入 PMA 时,它只是停留在空白屏幕(importer.php)上。生成的数据库缺少几个表,这意味着它无法导入所有内容。文件本身的大小与 PMA 导出的文件大小大致相同,因此到目前为止我唯一推断出的是,这绝对不是文件大小问题(导出的 .sql.gz 文件约为 17mb)。是否需要将某些设置传递给 mysqldump 才能实现与 PMA 完全相同的导出参数?

该服务器运行的是 Ubuntu 14.04、phpMyAdmin 4.0。

答案1

由于配置选项,可能出现空白页显示错误 = 0,这在生产服务器上很常见(并且正确)。您是否启用了 PHP 日志记录?查看其中的错误消息。

我猜内存限制配置太低,请增加它(尽管转储文件大小相似,但这里确实有可能)。另一个怀疑可能是最大执行时间

我还发现旧版本的 phpMyAdmin 中有一个错误(大约 3-4 年前),它阻止我导入mysqldump生成的 SQL 文件,错误地指示语法错误。但升级后这个问题已经消失。

相关内容