我需要将整个表从一个MySQL数据库移动到另一个数据库。我没有完全访问第二个权限,只有phpMyAdmin访问权限。我只能上传(压缩)小于2MB的sql文件。但是,第一个数据库表的mysqldump的压缩输出大于10MB。
有没有办法将mysqldump的输出分成较小的文件?我无法使用split(1),因为无法将文件分类(1)到远程服务器上。
还是我错过了其他解决方案?
编辑
第一个发布者建议的mysqldump的--extended-insert = FALSE选项将产生一个.sql文件,然后可以将其拆分为可导入的文件,只要使用适当的--lines选项调用split(1)即可。通过反复试验,我发现bzip2将.sql文件压缩了20倍,因此我需要找出多少行sql代码大致对应于40MB。
首先转储架构(它肯定适合2Mb,不是吗?)
mysqldump -d --all-databases 并恢复它。
之后,仅将数据转储到单独的插入语句中,因此您可以拆分文件并还原它们,而不必在远程服务器上将它们串联起来
mysqldump --all-databases --extended-insert=FALSE --no-create-info=TRUE来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。