我有一个~23000行的SQL转储包含几个数据库的数据.我需要提取此文件的某个部分(即单个数据库的数据)并将其放在一个新文件中.我知道我想要的数据的起始行和结束行号.
有没有人知道一个Unix命令(或一系列命令)从第16224和16482行之间的文件中提取所有行,然后将它们重定向到一个新文件?
我已经使用命令行成功导入了数据库,但现在我的痛苦领域是如何使用命令行将包含其数据的单个表导入现有数据库.
我需要将整个表从一个MySQL数据库移动到另一个MySQL数据库.我没有完全访问第二个,只有phpMyAdmin访问.我只能上传(压缩)小于2MB的sql文件.但是第一个数据库表的mysqldump的压缩输出大于10MB.
有没有办法将mysqldump的输出拆分成较小的文件?我不能使用split(1),因为我不能将文件cat(1)放回远程服务器上.
还是我错过了另一种解决方案?
编辑
第一张海报建议的mysqldump的--extended-insert = FALSE选项产生一个.sql文件,然后可以将其拆分为可导入文件,前提是使用合适的--lines选项调用split(1).通过反复试验,我发现bzip2将.sql文件压缩了20倍,所以我需要弄清楚有多少行sql代码大致相当于40MB.
我MySQL 5.0.84在Slackware 13.0 Staging服务器上运行,并希望将一个表复制到另一个服务器,该服务器是为了使用Ubuntu 14.04 OS进行其他测试而构建的.我已经把那张mysqldump桌子复制到了testing server.我尝试还原转储文件时收到以下错误.
ERROR 1231 (42000):Variable 'character_set_client' can't be set to the value of 'NULL'
请帮我解决这个错误.谢谢!
我在mysql.sql文件中有一个产品表.我希望提取一个表并将其放在它自己的文件中.你会怎么做呢?