我有一个包含大量数据的 mysql 表。我需要将此表包含所有数据导出到另一个数据库。但是当我尝试从 phpmyadmin 将表导出为 sql 文件时,它显示错误
https://i.p.adress/domains/databases/phpMyAdmin/export.php 网页可能暂时无法访问,或者可能已永久移至新网址。
我也尝试导出为 CSV,但发生了同样的错误。
发生这种情况是因为我的表包含大量数据吗?有没有其他方法可以导出该表的所有数据?
我有大约 1346641 条记录。
最佳答案
导出是否适用于较小的数据库?它会在显示该错误之前处理一段时间,还是在您确认导出选项后立即显示?我不记得曾见过与大量导出相关的错误消息,但我可能记错了。您的网络服务器或 PHP 错误日志中有任何提示吗?您使用的是哪个 phpMyAdmin 版本?
关于大宗导出:
由于 phpMyAdmin 作为 PHP 脚本在您的服务器上运行以及将下载的文件作为下载发送给您的性质,因此存在许多限制。 Web 服务器通常配置为防止 PHP 程序运行很长时间,并且长时间下载(或长时间处理导出)可能会受到影响。此外,内存和其他资源通常也以类似的方式受到限制。因此,通常最好使用其他一些方法来导出大型数据库。
随 MySQL 服务器包提供的命令行实用程序 mysqldump
是最终标准。如果您有命令行/shell 访问权限,最好使用 mysqldump 导出 .sql 文件,然后通过任何普通文件传输协议(protocol)(FTP、SCP、SSH 等)复制这些文件。
话虽这么说,phpMyAdmin 有一些增强和调整可以使这成为可能。
- 使用
$cfg[SaveDir]
启用writing the exported file to disk on the server ,然后您可以通过任何正常的文件传输协议(protocol)进行复制。 - 如果遇到超时或资源限制,您可以 edit the PHP configuration directives (链接的文档指的是进口,但同样的限制适用于导出)。
- 尝试导出压缩设置,特别是使用未压缩的导出格式(直接导出到 SQL,而不是压缩存档)可以解决一些内存限制。
关于mysql - 在phpmyadmin中导出带有批量数据的mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51345697/