我有两个Web服务器:一个活动服务器(服务器A)和一个开发服务器(服务器B)。 我通常需要从B中导出整个数据库内容并导入到A中。以前是通过phpMyAdmin完成的:在B上select数据库,导出,更改文件名,设置gzip压缩和Go。 然后在A,导入。 这个工作stream程工作正常,但效率不高。
因此,现在我们有一个cron作业,使用bash文件中的以下脚本来备份数据库:(为简洁起见,其他部分只是variables和回显语句)
mysqldump -u $user -h $host -p$pass $db_name | gzip -9 > $destination
在命令行中运行脚本不会导致错误,但是当我尝试在PMA中导入脚本时,它仅停留在空白屏幕(importer.php)上。 由此产生的数据库缺less几个表,这意味着它无法导入一切。 该文件本身的大小与导出的PMA大小差不多,所以我推断的唯一的事情就是它绝对不是文件大小问题(导出的.sql.gz文件大约是17mb)。 难道是需要将一些设置传递给mysqldump才能达到与PMA完全相同的导出参数?
服务器运行Ubuntu 14.04,phpMyAdmin 4.0。
由于configuration选项display_errors = 0 ,空白页面可能在那里,这在生产服务器上是通用的(并且是正确的)。 你有PHP日志logging启用? 看看它的错误消息。
我猜memory_limitconfiguration太低,增加它(尽pipe类似的转储文件的大小,它真的很可能在这里)。 另一个嫌疑人可能是max_execution_time 。
我也看到了一个老版本的phpMyAdmin(〜3 – 4年前)的错误,它阻止了我导入mysqldump生成的SQL文件,错误地指示语法错误。 但升级后,这个问题就消失了。