【问题标题】:Migrate script from MySQL 4.0 to 4.1将脚本从 MySQL 4.0 迁移到 4.1
【发布时间】:2013-05-27 21:03:31
【问题描述】:

我已将 MySQL v4.0.25 脚本导出到 sql 文件,但由于我找不到 4.0 的安装程序,剩下的唯一选择是使用 4.1.. 现在,我收到了常见的 1064 错误,因为 v4.0 没有 utf-8(只有 latin-1),而 v4.1 给了我一个语法错误。

我可以手动编辑文件,但是其中一个脚本是 12GB 大的文件,另一个是 5GB,所以我什至找不到能够打开这么大文件的编辑器,而且在进行此迁移(文件那么大,因为它们是 2 个使用超过 10 年的生产数据库的副本)。

如何解决或绕过此问题?我有没有机会告诉导入脚本忽略有错误的行(我什至不知道有多少..)?

【问题讨论】:

    标签: mysql mysql-error-1064 mysql4


    【解决方案1】:

    如果仍然可以,请使用mysqldump --tab=path 转储sql 中的数据结构和csv 格式的数据表。这样,您需要做的任何修改都将在小得多的 sql 文件上进行,从而保持大数据文件不变。他们以后可以使用mysqlimport 命令导入整个内容。

    或者,您始终可以使用mysql --force 选项来导入您的 sql 文件。

    更多信息:

    手动编辑文件:

    如果您使用 Linux 作为您的操作系统,那么您手上的命令种类繁多:more、less、sed 等。sed 适合替换,类似于您的问题。一个不错的教程可以在http://www.grymoire.com/Unix/Sed.html找到。

    在 Windows 中,我有时会使用 PowerShell。我在 StackOverflow 上有类似的帖子,关于 "mysqldump without database name",其中有一个如何替换转储文件中的字符串的示例。

    【讨论】:

    • 虽然不是对问题的完整答案,但这以正确的方式引导,使脚本运行并忽略错误,我稍后会处理,所以我将其标记为正确.谢谢
    猜你喜欢
    • 1970-01-01
    • 2016-07-24
    • 2014-01-18
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 2014-02-13
    • 2021-02-17
    • 1970-01-01
    相关资源
    最近更新 更多