如何通过 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 导入非常大的查询?的主要内容,如果未能解决你的问题,请参考以下文章