开发者社区> 问答> 正文

如何将mysqldump的输出拆分为较小的文件??mysql

我需要将整个表从一个MySQL数据库移动到另一个数据库。我没有完全访问第二个权限,只有phpMyAdmin访问权限。我只能上传(压缩)小于2MB的sql文件。但是,第一个数据库表的mysqldump的压缩输出大于10MB。

有没有办法将mysqldump的输出分成较小的文件?我无法使用split(1),因为无法将文件分类(1)到远程服务器上。

还是我错过了其他解决方案?

编辑

第一个发布者建议的mysqldump的--extended-insert = FALSE选项将产生一个.sql文件,然后可以将其拆分为可导入的文件,只要使用适当的--lines选项调用split(1)即可。通过反复试验,我发现bzip2将.sql文件压缩了20倍,因此我需要找出多少行sql代码大致对应于40MB。

展开
收起
保持可爱mmm 2020-05-17 18:57:12 680 0
1 条回答
写回答
取消 提交回答
  • 首先转储架构(它肯定适合2Mb,不是吗?)

    mysqldump -d --all-databases 并恢复它。

    之后,仅将数据转储到单独的插入语句中,因此您可以拆分文件并还原它们,而不必在远程服务器上将它们串联起来

    mysqldump --all-databases --extended-insert=FALSE --no-create-info=TRUE来源:stack overflow

    2020-05-17 18:59:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像