如何在 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?的主要内容,如果未能解决你的问题,请参考以下文章