8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何在 phpmyadmin 中导入大型 sql 文件

l-m 2月前

177 0

我想导入一个大约 12 mb 的 sql 文件。但是它在加载时出现问题。有没有办法在不拆分 sql 文件的情况下上传它?

我想导入一个大约 12 mb 的 sql 文件。但是它在加载时出现问题。有没有办法在不拆分 sql 文件的情况下上传它?

帖子版权声明 1、本帖标题:如何在 phpmyadmin 中导入大型 sql 文件
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由l-m在本站《mysql》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 如果您无法使用 mysql 控制台,那么 phpmyadmin 文档中有一个有趣的解决方案:

  • 尝试根据您的操作系统的需要从 mysql 控制台导入它。

    mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file.sql path}
    

    或者如果它在远程服务器上,请使用 -h 标志来指定主机。

    mysql -u {DB-USER-NAME} -h {MySQL-SERVER-HOST-NAME} -p {DB-NAME} < {db.file.sql path}
    
  • 好的,感谢大家的回复。我在 php.ini 中做了一些更改并压缩了文件。对我来说,它很管用 :)

  • 这是一个很好的答案。对于任何可能不太精通的人来说,您只需将 DB 文件上传到主机上的文件管理器,然后在主机上使用 SSH 进行本地操作即可。这比在服务器上安装 mysql 进行一次迁移要容易得多。谢谢大家的帮助!(另外,我不需要括号)

  • 对于那些想知道的人,您需要浏览到 MySQL/bin 文件夹来运行该命令。效果很好。谢谢。

  • 他们没有密码怎么办?使用默认用户名为 root 的数据库?使用此命令时,系统会要求输入密码。

  • 你必须做的三件事:

    php.ini 你的 php 安装中(注意:根据你想要的 CLI、apache 还是 nginx,找到正确的 php.ini 进行操作)

    post_max_size=500M
    
    upload_max_filesize=500M
    
    memory_limit=900M
    

    或设置其他值。

    ,请重新启动/重新加载 apache;如果使用 nginx,请重新启动/重新加载 nginx 的 php-fpm。

    远程服务器?

    增加 max_execution_time ,因为上传文件需要时间。

    NGINX 安装?

    你必须添加: client_max_body_size 912M; /etc/nginx/nginx.conf http{...}

  • 这必须添加到你的 apache 目录,而不是 cli 目录(至少在我的 Ubuntu 机器上测试过)

  • 引用 10

    @RickSanchez 你确定你在 apache 上运行了这个 php 版本吗?请运行 phpinfo() 并验证值是否已正确设置且服务器是否已重新启动

  • 不要忘记在 php ini 中提高 max_execution_time 值并重新启动 apache

  • 引用 12

    编辑位于 phpmyadmin 目录中的 config.inc.php 文件。在我的例子中,它位于 C:\wamp\apps\phpmyadmin3.2.0.1\config.inc.php .

    找到上面的行 $cfg['UploadDir'] 并将其更新为 $cfg['UploadDir'] = 'upload';

    然后,在 phpmyadmin 目录内创建一个名为“upload”的目录(对我来说,是在 C:\wamp\apps\phpmyadmin3.2.0.1\upload\ )。

    然后将您要导入的大型 SQL 文件放入新 upload 目录中。现在,当您进入 phpmyadmin 控制台中的数据库导入页面时,您会注意到一个以前没有的下拉菜单 - 它包含您刚刚创建的上传目录中的所有 sql 文件。您现在可以选择它并开始导入。

    如果您没有在 Windows 上使用 WAMP,那么我相信您能够毫不费力地将其适应您的环境。

    参考: http://daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/comment-page-4/

  • 在较新版本的 phpMyAdmin 中,$cfg['UploadDir'] var 根本不存在;但是,只需在文件的新行上添加 var,此解决方案仍然有效。

  • var 位于同一目录的 config.default.php 中,我使用的是 phpmyadmin 版本 4.6.4

  • 无法再编辑之前的评论,目录是 libraries/config.default.php

  • LINUX 用户的解决方案(使用 sudo 运行)

    创建“上传”和“保存”目录:

    mkdir /etc/phpmyadmin/upload
    mkdir /etc/phpmyadmin/save
    chmod a+w /etc/phpmyadmin/upload
    chmod a+w /etc/phpmyadmin/save
    

    然后编辑phpmyadmin的配置文件:

    gedit /etc/phpmyadmin/config.inc.php
    

    最后为“上传”和“保存”目录添加绝对路径:

    $cfg['UploadDir'] = '/etc/phpmyadmin/upload';
    $cfg['SaveDir'] = '/etc/phpmyadmin/save';
    

    现在,只需将文件拖放到 /etc/phpmyadmin/upload 文件夹中,然后您就可以从 phpmyadmin 中选择它们。

    enter image description here

    希望这有帮助。

  • 使用此方法时,当我单击上传表单上的提交按钮时,phpmyadmin 会给我一个“文件无法读取!”消息。现在正在排除故障。

  • @JoeRocc 你找到问题的解决方案了吗?也许是权限或所有权问题。尝试使用 sudo chmod 777 your-filename.sql

  • 775。不是 777。不建议设置 777 来让实时服务器正常运行。它存在安全问题。

  • 引用 20

    只需一行即可完成(确保 mysql 命令可作为全局命令使用,或者只需转到 mysql 安装文件夹并进入 bin 文件夹)

    mysql -u database_user_name -p -D database_name < complete_file_path_with_file_name_and_extension 
    

    这里

    • u 代表用户
    • p 代表密码
    • D 代表数据库

    ---不要忘记 < 在数据库名称后添加符号---

    带有名称和扩展名的完整文件路径可以像

    c:\folder_name\"folder name"\sql_file.sql

    ---如果您的文件夹和文件名包含空格,请使用双引号绑定它们---

    提示和注意事项:您可以在之后写下您的密码, -p 但是我们不建议这样做,因为它会显示给当时正在查看您屏幕的其他人,如果您不在那里写下,它会询问您何时按回车键执行命令。

返回
作者最近主题: