代码之家  ›  专栏  ›  技术社区  ›  Starx

使用phpmyadmin将大型数据库导入mysql的简单方法是什么?

  •  4
  • Starx  · 技术社区  · 14 年前

    我需要导入一个大约120m大小的数据库(SQL文件),但是在phpmyadmin中,不允许导入超过8MB。

    如何解决这个问题?

    4 回复  |  直到 7 年前
        1
  •  6
  •   symcbean    14 年前

    IIRC在phpmyadmin中没有限制,在mysql中也没有限制-限制在post大小(webserver config)或文件上载大小(php.ini)上。如果您不能更改其中任何一个,那么您需要通过其他方式上载文件,然后….

    mysql -u username -p <mysql_export_file.sql
    

    如果无法上载文件/没有shell访问权限/没有可供使用的mysql客户端的cli版本,那么接下来要尝试的是查看是否可以使用mysql cli客户端远程连接:

    mysql -u username -h www.example.com -p 
    

    如果连接正常,则退出并再次运行导出文件中的管道。

    mysql -u username -h www.example.com -p <mysql_export_file.sql
    

    如果这不起作用,那么您将需要将导出文件拆分为多个较小的块,或者编写自己的数据加载器来欺骗数据。

    C.

        2
  •  2
  •   Andrew    12 年前

    我过去用三种方法来解决这个问题,以下是简单的解决方案:

    1) 增加上传限制。 要求主机允许您将更大的文件上载到服务器(尤其是post-max-u大小和upload-max-u文件大小变量),最好是在phpmyadmin的.htaccess文件中这样做。

    2) 通过FTP上传。 phpmyadmin支持通过ftp上载SQL文件,但您的主机需要 configure the "UploadDir" setting .

    3) 使用不同的导入过程。 BigDump 是最好的。问题是,由于SQL行数或其他错误,它仍然拒绝导入某些文件,而且您必须为每个站点/数据库配置它。

        3
  •  1
  •   Juraj    14 年前

    我无法直接访问服务器,因此已成功使用 BigDump 艾斯特德通过ftp和大的sql文件上传。然后bigdump在服务器上导入本地文件,避免任何http/php上载限制。

        4
  •  0
  •   Naseeruddin V N    7 年前

    如果您确定导入是干净的,并且没有任何重复项,那么可以尝试以下操作,这将大大减少时间。

    mysql> set autocommit=0; set unique_checks=0; set foreign_key_checks=0;
    mysql> source /path/to/dump.sql
    mysql> commit; set unique_checks=1; set foreign_key_checks=1;