我已经将MySQL v4.0.25脚本导出到sql文件中,因为我找不到4.0的安装程序了,剩下的唯一选择就是使用4.1 .. 现在,我得到了常见的1064错误,因为v4.0没有utf-8(只有latin-1)而v4.1给我一个语法错误。
我可以手动编辑文件但是,其中一个脚本是一个12GB大的文件,另一个是5GB,所以我甚至找不到能够打开一个大文件和一个问题的编辑器这种迁移的手(文件很大,因为它们是使用超过10年的2个生产数据库的副本)。
如何修复或绕过此问题?我有可能告诉导入脚本忽略有错误的行(我甚至不知道有多少行......)
答案 0 :(得分:1)
如果仍然可以,使用mysqldump --tab=path
以csv格式转储数据结构在sql和数据表中。这样,您需要做的任何修改都将在更小的sql文件上,保持大数据文件不变。您可以稍后使用mysqlimport
命令导入整个内容。
或者,您始终可以使用mysql --force
选项导入sql文件。
更多信息:
手动编辑文件:
如果您使用Linux作为操作系统,那么您手中有各种各样的命令:more
,less
,sed
等。sed
对于替换而言,这与您的问题类似。可以在http://www.grymoire.com/Unix/Sed.html
在Windows中,我有时会使用PowerShell。我在StackOverflow上有关于"mysqldump without database name"的类似帖子,其中有一个如何替换转储文件中的字符串的示例。