在 phpmyadmin 中导出带有批量数据的 mysql 表
Posted
技术标签:
【中文标题】在 phpmyadmin 中导出带有批量数据的 mysql 表【英文标题】:exporting mysql table with bulk data in phpmyadmin 【发布时间】:2018-12-23 01:11:03 【问题描述】:我有一个包含大量数据的 mysql 表。我需要将此表导出到包含所有数据的另一个数据库。但是当我尝试从 phpmyadmin 将表导出为 sql 文件时,它显示错误
The webpage at https://i.p.adress/domains/databases/phpMyAdmin/export.php might be temporarily down or it may have moved permanently to a new web address.
我也尝试导出为 CSV,但发生了同样的错误。
是否因为我的表包含大量数据而发生这种情况?有没有其他方法可以导出这个包含所有数据的表?
我有大约 1346641 条记录。
【问题讨论】:
【参考方案1】:导出是否适用于较小的数据库?它会在显示该错误之前处理一段时间,还是在您确认导出选项后立即显示?我不记得看过与大型导出有关的错误消息,但我可能记错了。您的网络服务器或 PHP 错误日志中有任何提示吗?您使用的是哪个 phpMyAdmin 版本?
关于大宗出口:
由于 phpMyAdmin 在您的服务器上作为 PHP 脚本运行,以及将下载的文件作为下载发送给您,因此存在许多限制。 Web 服务器通常配置为阻止 PHP 程序运行很长时间,并且长时间下载(或长时间处理导出)可能会受到影响。此外,内存和其他资源通常以类似的方式受到限制。因此,通常最好使用其他方式导出大型数据库。
命令行实用程序mysqldump
,随 MySQL 服务器包一起提供,是最终标准。如果您有命令行/shell 访问权限,最好使用 mysqldump 导出 .sql 文件,然后通过任何正常的文件传输协议(FTP、SCP、SSH 等)复制这些文件。
话虽如此,phpMyAdmin 有一些增强和调整可以使这成为可能。
使用$cfg[SaveDir]
启用writing the exported file to disk on the server,然后您可以通过任何正常的文件传输协议进行复制。
如果您遇到超时或资源限制,您可以edit the PHP configuration directives(链接文档指的是导入,但同样的限制适用于导出)。
尝试导出压缩设置,特别是使用未压缩的导出格式(直接导出到 SQL 而不是压缩存档)可以解决一些内存限制问题。
【讨论】:
以上是关于在 phpmyadmin 中导出带有批量数据的 mysql 表的主要内容,如果未能解决你的问题,请参考以下文章
如何在 phpmyadmin 中导出收藏的表列表并在需要时导入?
在 phpMyAdmin 中导入/替换带有 CSV 的表时遇到问题:第 1 行的 CSV 输入中的列数无效