我在Windows操作系统上使用phpmyadmin。我有一个包含1亿条记录,大小为20GB的表的数据库。我想要导出这张表并得到table.sql文件。但每次尝试时,导出文件的大小都是0字节。当我查看Apache错误日志时,会显示以下内容:
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1066139648 bytes)
有什么想法可以解决这个问题?!
谢谢:)
我在Windows操作系统上使用phpmyadmin。我有一个包含1亿条记录,大小为20GB的表的数据库。我想要导出这张表并得到table.sql文件。但每次尝试时,导出文件的大小都是0字节。当我查看Apache错误日志时,会显示以下内容:
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1066139648 bytes)
有什么想法可以解决这个问题?!
谢谢:)
我建议尝试使用命令行和mysqldump.exe实用程序,如此处所建议。
如果您使用的是共享主机,并且使用了Cpanel,则可以在以下部分中选择备份数据库选项。
文件 => 备份 => 下载 MySQL 数据库备份。
如果您使用共享主机或者没有shell访问权限,则可以使用mysqldumper脚本;将其复制到您的服务器上,并在浏览器中启动,路径为“yourDomain.com/path_to_mysqlumper/”。
MySQLDumper是一种基于PHP和Perl的工具,用于备份MySQL数据库。您可以轻松地将数据倒入备份文件中,并在需要时进行恢复。它特别适用于共享托管网络空间,其中您无法访问shell。
如果您有访问主机服务器的shell权限(如果主机提供此访问权限,因为并非所有共享服务器主机都提供此访问权限),则可以像本教程中所述使用SSH访问,使用Putty来安装和配置,然后像第三个教程中所述导入或导出数据库。
sudo su
然后,尝试完整的命令。
/opt/lampp/bin/mysqldump -u root -p [DATABASE NAME] > [PATH_FOR_BACKUPFILE]/[FILE_NAME].sql
增加
php.ini
文件中的
max_post_size
变量。然后您就可以下载它了。
我在使用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访问逐个目录进行下载。
确保在下载完成后删除它。