2013-06-18 112 views
0

我有一个VPS机,我phpMyAdmin安装,并插入到数据库中可是现在,我希望做一个备份和导出数据库,它说:phpMyAdmin的不能导出数据库

Error code 500, Internal Server Error

这里error.log中:http://pastebin.com/44N4YcAk

[Tue Jun 18 21:40:16 2013] [error] [client] PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 491520 bytes) in /usr/share/phpmyadmin/libraries/tcpdf/tcpdf.php

+1

您使用VPS,你为什么要与phpMyAdmin备份?| – exussum

+0

从命令行运行mysqldump。 – 2013-06-18 20:21:12

+0

错误来自tcpdf.php。您是否尝试导出为PDF? –

回答

1

它说在底部

PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 491520 bytes) in /usr/share/phpmyadmin/libraries/tcpdf/tcpdf.php on line 22694, 

无论你的VPS是出的内存或您的PHP设置不允许分配超过16MB的内存。

增加内存在php.ini或者只是使用mysqldump

php.ini的变化

memory_limit = 64M 

我强烈建议更换使用mysqldump虽然这里是从我的备份脚本摘录

#!/bin/bash 
time=`date +%Y-%m-%d_%H-%M-%S` 
mysqldump -u mysqluser -pmysqlpassword --all-databases | 7za a -si database/backup-${time}.sql.7z -p7zpass 

将备份保存在受密码保护的7zip文件中7zpass

+0

或者数据库太大。他可能需要一次将其输出为大块,几个表格。 –

+0

那里有4K行 - 那是什么 – exussum

+0

我又再次做到这一点,同样的错误,我不知道为什么笑 – user2444244

1

通过这篇文章,它展示了如何增加内存;或者只是使用命令行来导入:

How to increase memory size for phpmyadmin

+0

我这样做,和同样的错误,我不知道为什么笑 – user2444244

+0

你增加内存并重新启动Apache服务器?或者你尝试过命令行解决方案? –

+0

我增加了momory并重新启动 – user2444244

9

你不应该使用phpMyAdmin对于这一点,你应该使用mysqldump。从一个PHP脚本的命令行其

mysqldump -uMYSQL-USER -h server -pMYSQL-USER database_name > /path-to-export 

$command = "mysqldump -uMYSQL-USER -h server -pMYSQL-USER database_name > /path-to-export/file.sql"; 
exec($command, $output, $return_var); 

这是很容易用一个cronjob自动化