如何在 MAC OSX 中拆分 sql?

Posted

技术标签:

【中文标题】如何在 MAC OSX 中拆分 sql?【英文标题】:How to split sql in MAC OSX? 【发布时间】:2013-12-25 02:50:29 【问题描述】:

是否有任何适用于 mac 的应用程序来拆分 sql 文件甚至脚本? 我有一个大文件,我必须将其上传到不支持超过 8 MB 文件的主机。

*我没有 SSH 访问权限

【问题讨论】:

【参考方案1】:

你可以使用这个:http://www.ozerov.de/bigdump/

或者

使用该命令拆分sql文件

split -l 5000 ./path/to/mysqldump.sql ./mysqldump/dbpart-

split 命令获取一个文件并将其分成多个文件。 -l 5000 部分告诉它每五千行拆分文件。下一位是文件的路径,下一部分是您要将输出保存到的路径。文件将保存为您指定的任何文件名(例如“dbpart-”),并附加字母组合。

现在您应该可以通过 phpMyAdmin 一次导入一个文件了。

更多信息http://www.webmaster-source.com/2011/09/26/how-to-import-a-very-large-sql-dump-with-phpmyadmin/

【讨论】:

在我的系统上,split 也有一个-b 标志。然后您可以使用split -b 8m 而不是split -l 5000。当然,在这两种情况下,您都必须连接服务器上的文件,因为两者都不能保证您在某些命令期间不会拆分。 谢谢伙计们,这很棒,但我收到一个错误“#1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的语法以在附近使用..." 是因为分裂造成的吗? 是的,正如@WaleedKhan Khan 前面提到的,你必须检查你没有拆分任何命令。 我不熟悉数据库,我只是将我的网站从以前的 VPS 转移到 Godaddy 上的新主机,那么有没有简单的方法来检查命令? 好的,让我看看我现在在我的窗户上,我会尽快回复你。【参考方案2】:

这个工具应该可以解决问题:MySQLDumpSplitter

它是免费和开源的。

与此问题的公认答案不同,此应用将始终保持扩展插入完整,因此您的查询的精确形式无关紧要;生成的文件将始终具有有效的 SQL 语法。

全面披露:我是举办此计划的公司的股东。

【讨论】:

这个解决方案太棒了!你的回答解决了大问题!【参考方案3】:

如果您有 FTP 访问权限并且可以修改 phpMyAdmin 的配置(或被允许安装您自己的 phpMyAdmin 实例),phpMyAdmin 中的 UploadDir 功能可以帮助您。

http://docs.phpmyadmin.net/en/latest/config.html?highlight=uploaddir#cfg_UploadDir

【讨论】:

【参考方案4】:

您可以使用以下方法拆分成工作 SQL 语句:

csplit -s -f db-part db.sql "/^# Dump of table/" "99"

其中最多包含 99 个来自 db.sql 的名为“db-part[n]”的文件

您可以使用“CREATE TABLE”或“INSERT INTO”代替“# Dump of ...”

另外:避免安装任何程序或将您的数据上传到任何在线服务。你不知道你的信息会被做什么!

【讨论】:

以上是关于如何在 MAC OSX 中拆分 sql?的主要内容,如果未能解决你的问题,请参考以下文章

Mac OSX文件权限有'@' - 如何删除'@' [关闭]

如何隐藏 Mac/OSX 拖放 JTable 选择框

如何在 Mac OSX 终端中更改主要 python 版本

如何在mac osx下启用mysql(转载)

如何在我的 Mac 上永久设置 SQL_MODE

如何在 Mac OSX 10.9 上的 php 中启用 mcrypt?