如何在MAC OSX中拆分sql?

时间:2013-12-07 20:21:21

标签: sql macos phpmyadmin splitter

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

*我没有SSH访问权限

4 个答案:

答案 0 :(得分:10)

您可以使用: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/

答案 1 :(得分:6)

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

它是免费和开源的。

与此问题的接受答案不同,此应用程序将始终保持扩展插入不变,因此查询的准确形式无关紧要;生成的文件将始终具有有效的SQL语法。

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

您可以使用以下命令拆分为工作SQL语句:

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

其中包含来自db.sql

的99个名为'db-part [n]'的文件

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

另外:避免安装任何程序或将数据上传到任何在线服务。您不知道将如何处理您的信息!