如何通过 phpmyadmin 导入非常大的查询?

Posted

技术标签:

【中文标题】如何通过 phpmyadmin 导入非常大的查询?【英文标题】:how to import a very large query over phpmyadmin? 【发布时间】:2010-09-30 10:47:03 【问题描述】:

如果我的主机不允许我将文件直接上传到我的 mysql 文件夹 我只能通过 phpmyadmin 做到这一点?除了其原生导入功能之外,还有其他选择,以便在上传大约 8mb 的查询时我的连接不会超时?

【问题讨论】:

【参考方案1】:

您可以 gzip 或 bzip 文件,phpMyAdmin 将解压缩并运行脚本。

否则我过去必须做的就是将我的 SQL 拆分为多个文件并单独加载每个文件。您只需在文本编辑器中打开 SQL 文件,向下滚动到大约一半,找到语句的开头并将之后的所有内容移到另一个文件中即可。

【讨论】:

我会说同样的话。【参考方案2】:

不要将 phpmyadmin 用于任何重要的事情。绝对不要使用它来创建备份或进行恢复。这是一袋垃圾。

登录到您的 shell 并使用 mysql 命令行客户端以标准方式恢复数据库。如果你做不到,找一个更好的供应商。

使用 mysql 数据库需要 Shell 访问权限。

不要期望 phpmyadmin 所做的任何事情都不会破坏您的所有数据。

【讨论】:

哈哈。总是在任何关键之前进行备份。我多年来一直在使用 phpmyadmin,但只是在我使用 bash 脚本备份数据库之后。永远不必恢复到它。 “我如何在 Y 中做 X?” ...“不要使用 Y,这是垃圾。” IMO 不是一个有用的答案。 phpmyadmin 不是创建mysql备份的标准方式,以前的版本已经创建了不可恢复的备份。此外,因为它在 PHP 中运行,所以它通常具有有限的脚本运行时间,备份将超过该时间。有人发现 phpmyadmin 创建的备份无法恢复。 mysqldump 工具已经过广泛的测试; phpmyadmin 包含了一个没有重新实现的工具。【参考方案3】:

BigDump?

大型和超大型 MySQL 转储(如 phpMyAdmin 2.x 转储)的交错导入,即使通过具有硬运行时限制和安全模式的 Web 服务器也是如此。该脚本仅执行大转储的一小部分并自行重新启动。下一个会话从上次停止的地方开始。

您可以使用 FTP 客户端上传转储文件(这将允许您恢复传输),然后在本地加载。

【讨论】:

phpMyAdmin 现在也这样做了。如果它在一个大文件上超时,它会告诉你它在做什么记录。然后您可以再次进行恢复,只需告诉它记录号,它就会从那里提取它。【参考方案4】:

我肯定会说 BigDump。我对 8.3 GB 的 sql 文件有这个确切的问题。阅读这篇文章了解更多信息。 How To Upload a Big SQL File To MySQL 也可以访问script home page 下载。

【讨论】:

【参考方案5】:

在这里查看我的答案:https://***.com/a/33728744/74585

如果在导入操作期间取消选中部分导入 -> 允许中断导入...那么 phpMyAdmin 似乎将整个内容发送到处理缓慢的 mysql。不幸的是,phpMyAdmin(至少在我的共享主机上)将不再响应请求,但使用不同 IP 地址上的浏览器可以工作,让您监控查询的进度。

【讨论】:

【参考方案6】:

我说 - 使用Sypex Dumper。

【讨论】:

以上是关于如何通过 phpmyadmin 导入非常大的查询?的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 phpmyadmin 文件导入数据库

无法通过 phpmyadmin 导入数据库文件过大

如何用phpmyadmin导入大容量.sql文件

通过命令行将csv导入mysql

通过导入修改服务器上的phpmyadmin数据库吗?

phpMyAdmin 不允许我一次运行多个查询,并且导入我的 SQL 失败