我在windows os上使用phpmyadmin。我有一个数据库,其中一个表有100M记录,大小为20GB。我想导出此表并具有table.sql文件。每当我尝试这样做时,导出文件的大小为0字节。当我检查apache错误日志时,将显示以下内容:
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1066139648 bytes)
知道如何解决这个问题吗?!
谢谢:)
答案 0 :(得分:14)
我建议尝试使用命令行和mysqldump.exe实用程序,如建议here
答案 1 :(得分:11)
如果您在共享主机上,或者您无权访问shell,请使用mysqldumper脚本;将其复制到您的服务器并在“yourDomain.com/path_to_mysqlumper /”
下的浏览器中启动它
MySQLDumper是一个基于PHP和Perl的工具,用于备份MySQL 数据库。您可以轻松地将数据转储到备份文件中 - 如果 需要 - 恢复它。它特别适合共享主机 网站空间,您没有shell访问权限。
如果您拥有对主机服务器的shell访问权限(如果您的主机提供,因为并非所有共享服务器托管服务商都提供此访问权限),那么您可以使用tutorial使用Putty使用SSH访问权限install and configure然后导入或导出您的数据库,如third tutorial。
答案 2 :(得分:11)
如果您有共享托管,并且使用的是 GoDaddy Cpanel ,则他们会在下一部分为您提供备份数据库的选项。
档案 => 备份 => 下载MySQL数据库备份。
答案 3 :(得分:2)
我尝试了 mysqldump 好几个小时但没有成功,直到我启动了超级用户控制台。
首先,启动一个超级用户控制台
sudo su
然后,尝试完整的命令
/opt/lampp/bin/mysqldump -u root -p [DATABASE NAME] > [PATH_FOR_BACKUPFILE]/[FILE_NAME].sql
我的情况,它类似于 /opt/lampp/bin/mysqldump -u root -p database > /home/user/backup.sql
答案 4 :(得分:1)
在我托管的网站上,MySQLDumper对我来说就像一个魅力。我不得不复制一个数据库并将其“粘贴”到一个新的数据库中。在MySQLDumper中,不知道如何做到这一点,但关键是在MySQLDumper中创建一个新的配置文件,这将允许您复制/恢复到不同的数据库。
在MySQLDumper的主屏幕上,单击“配置”,然后单击“配置文件”。顶部有一个文本框,允许您创建新的配置文件。在那里,输入您需要的第二个数据库的信息(在安装MySQLDumper时创建了与第一个数据库的连接)。保存。然后,您可以单击“还原”,您可以在其中选择第一个数据库的转储,然后在第二个数据库中将其还原。
这是救星。谢谢!
答案 5 :(得分:0)
增加
php.ini文件中的max_post_size
变量。然后你就可以下载了。
答案 6 :(得分:0)
当我从中间从phpmyadmin下载时出现了另一个问题,例如180MB的下载停止并显示消息-网络错误
所以我使用了ssh连接,有时您可以在cpanel中找到它们,它们有时会提供基于浏览器的终端,或者有时您必须使用腻子来访问它。
在终端中,我进入public_html
文件夹,其中存储了所有文件。接着执行以下命令:
mysqldump -u [username] -p [database-you-want-to-dump] > [path-to-place-data-dump.sql]
这完成了几分钟的工作,并将一个sql文件保存在我的public_html
文件夹中。然后,我在“文件管理器”中打开该文件夹,并从那里下载了该文件夹。
您也可以使用FTP,也可以通过url访问来下载它的目录。
请确保在下载完成后将其删除。