【问题标题】:How to import large .sql files如何导入大型 .sql 文件
【发布时间】:2014-07-10 14:39:39
【问题描述】:

我有一个问题。我正在尝试为我的内容管理系统创建一个安装程序,这将使该过程尽可能简单和轻松。上传大小约为8mb。我有一个将处理 sql 文件的脚本,但它不允许 ';'在字符串中,这对我没有好处。处理所有查询也需要大约一个小时。

有什么方法可以在短时间内导入 sql 文件,并允许在 varchar 中使用 ';'s?

【问题讨论】:

  • 查看我对Running MySQL *.sql files in PHP 的回答以及我从那个链接到的其他答案。我不确定它是否完全重复,因为您没有提到 PHP。但无论您使用哪种语言,该原则都适用。

标签: mysql sql import


【解决方案1】:

mysql.ini - 8m 改为 200m(根据需要)

cmd: mysql -u username -p databasename < sqlFile.sql

https://stackoverflow.com/a/36737350/6223123

【讨论】:

    【解决方案2】:

    我认为您需要指定如下内容:

    delimiter $$
    

    在脚本的开头,然后恢复:

    delimiter ;
    

    在脚本的结尾。 这将管理;在导入期间作为普通字符。

    【讨论】:

    • 感谢您的快速回复!那么,我会在我的 sql 文件的顶部添加它吗?还是在 PHP 中导入?
    • 在sql文件的开头,在结尾恢复。这通常在你在 mysql 中编写存储过程时使用,以避免部分执行脚本。
    • 听起来 OP 有一些自定义脚本来处理 .sql 文件,将其拆分为 ; 并运行每个语句。 DELIMITER 是 mysql 客户端的内置命令,不能被 MySQL 服务器 SQL 解析器识别。所以我认为这个答案不会有帮助。
    • 啊,好吧,我不知道DELIMITER是mysql客户端命令。
    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 2012-07-03
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多