导出大型数据库 mysql phpmyadmin
Posted
技术标签:
【中文标题】导出大型数据库 mysql phpmyadmin【英文标题】:export large database mysql phpmyadmin 【发布时间】:2013-11-30 11:43:08 【问题描述】:我在我的 Windows 操作系统上使用 phpmyadmin。我有一个数据库,其中一张表有 100M 条记录,大小为 20GB。我想导出这个表并拥有 table.sql 文件。每当我尝试这样做时,导出文件的大小都是 0 字节。当我检查 apache 错误日志时,会显示以下内容:
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1066139648 bytes)
知道如何解决这个问题吗?!
谢谢:)
【问题讨论】:
【参考方案1】:如果您有共享主机并且正在使用 Cpanel,那么他们会在下一节中为您提供备份数据库的选项。
文件 => 备份 => 下载 MySQL 数据库备份。
【讨论】:
【参考方案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
【讨论】:
【参考方案3】:当我从中间的 phpmyadmin 下载时遇到了一个不同的问题,比如 180MB 下载停止并显示消息 - 网络错误
所以我使用了 ssh 连接,你可以在你的 cpanel 中找到它,有时它们提供基于浏览器的终端,或者有时你必须使用 putty 访问它。
在终端中,我进入存储所有文件的public_html
文件夹。后跟这个命令:
mysqldump -u [username] -p [database-you-want-to-dump] > [path-to-place-data-dump.sql]
这在几分钟内完成了这项工作,并在我的public_html
文件夹中保存了一个 sql 文件。然后我在文件管理器中打开该文件夹并从那里下载它。
您也可以使用 FTP 或通过 url 访问下载目录。
确保在下载完成后将其删除。
【讨论】:
【参考方案4】:增加
max_post_size
php.ini 文件中的变量。然后你就可以下载它了。
【讨论】:
【参考方案5】:MySQLDumper 在我的托管网站上对我来说就像一个魅力。我不得不复制一个数据库并将其“粘贴”到一个新数据库中。在 MySQLDumper 中,如何做到这一点并不明显,但关键是在 MySQLDumper 中创建一个新的配置文件,这将允许您复制/恢复到不同的数据库。
在 MySQLDumper 的主屏幕上,单击配置,然后单击配置文件。顶部有一个文本框,允许您创建新的配置文件。在那里,输入您需要的第二个数据库的信息(您在安装 MySQLDumper 时创建了与第一个数据库的连接)。保存。然后你可以点击恢复,在这里你可以选择第一个数据库的转储并在第二个数据库中恢复它。
这是救命稻草。谢谢!
【讨论】:
【参考方案6】:如果您在共享主机上或者您无权访问 shell,请使用 mysqldumper 脚本;将其复制到您的服务器并在“yourDomain.com/path_to_mysqlumper/”下的浏览器中启动它
MySQLDumper 是一个基于 PHP 和 Perl 的 MySQL 备份工具 数据库。您可以轻松地将数据转储到备份文件中,并且 - 如果 需要 - 恢复它。它特别适合共享主机 网络空间,您没有 shell 访问权限。
如果您对您的主机服务器具有 shell 访问权限(如果由您的主机提供,因为并非所有共享服务器主机都提供此访问权限),那么您可以使用 SSH 访问,就像在此 tutorial 中使用 Putty 那样您 install and configure 然后像 third tutorial 一样导入或导出您的数据库。
【讨论】:
看起来像死链接。【参考方案7】:我建议尝试使用命令行和 mysqldump.exe 实用程序,如建议的here
【讨论】:
感谢您的回答。这就是我为解决我的问题所做的。 不客气,我很乐意为您提供帮助! phpmyadmin 是一个有用的工具 ans 使管理 Mysql DB 的许多事情变得更简单,但它有其局限性......干杯 这是一个很好的答案。我的系统中没有安装 gzip。因此,我在导出时使用了“sql.zip”而不是“sql.gz”。然后,我在未选中“PHP 超时后中断”的情况下在 PHPMyAdmin 上导入。那行得通:)以上是关于导出大型数据库 mysql phpmyadmin的主要内容,如果未能解决你的问题,请参考以下文章