【问题标题】:Splitting a SQL insert from PHPmyAdmin to Adminer将 SQL 插入从 PHPmyAdmin 拆分到 Adminer
【发布时间】:2011-09-07 15:04:34
【问题描述】:

我正在尝试将我的数据库移动到另一台服务器。

我的管理员有 2MB SQL 最大转储(上传)限制。
我目前有一张大约 10MB 大的表。

我想知道我可以采取什么方法来拆分这个 10MB 的表(或修改转储文件)以便通过管理员导入它。

【问题讨论】:

  • 这个大表有什么样的唯一键?最好的方法是获取该表的块,但知道如何拆分它会很有用。
  • 表的唯一键就是ID。表中的数据是页。每页来自一本书,所以我在数据库中有大约 5,000 本书,可能大约有 100,000 多页。

标签: mysql sql phpmyadmin dump


【解决方案1】:

有以下选项:

  • 通过 FTP 将文件上传为adminer.sql(或adminer.sql.gz),然后运行from server
  • Gzip 或 Bzip2 文件 - 也许它可以压缩到 2 MB。
  • 提高 PHP 限制 - upload_max_filesizepost_max_size
  • 按部分导出表格 - 限制结果集并从select 导出。

【讨论】:

  • @Anraiki - 这里的最后一个选项是我想的那个。以 1000 本书为一组导出表格。
  • @Jakub Vrána 您能否添加管理员找到 adminder.sql 文件的路径?我无法确定它,管理员总是给我一个“找不到文件”错误。是网络根吗?是否安装了和adminer相同的目录?
  • Adminer所在的目录是同一个目录
【解决方案2】:

如果您的 database.sql.gz 文件在服务器或其他任何地方,您可以使用以下方法导入。

$ zcat import_file.sql.gz | mysql -uroot -p database_name

它会询问您的 SQL 密码,只需输入即可,然后您就完成了。如果 database_name 出现错误,则只需在“管理员”中手动创建 database_name 然后导入。它会 100% 确定。

【讨论】:

    【解决方案3】:

    试试这个:管理员:增加导入限制

    /etc/php/5.6/apache2$ *sudo vim php.ini*
    
    upload_max_filesize = 200M // 2M originally
    
    sudo service apache2 restart
    

    【讨论】:

    • 很好的解决方案!我问这个问题已经 8 年了,如果你有具有管理员功能的 SSH,那么做一个 SQL DUMP 会更容易,允许你跳过配置和 PHP 可能具有的超时执行限制。
    猜你喜欢
    • 2014-02-21
    • 2015-03-21
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多