96

I want to import a sql file of approx 12 mb. But its causing problem while loading. Is there any way to upload it without splitting the sql file ?

4

22 回答 22

113

尝试根据您的操作系统的口味从 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}
于 2012-07-03T06:48:24.133 回答
82

你必须做的3件事:

php.ini您的 php 安装中(注意:取决于您是否需要 CLI、apache 或 nginx,找到正确的 php.ini 进行操作)

post_max_size=500M

upload_max_filesize=500M

memory_limit=900M

或设置其他值。

如果您安装了 apache,则重新启动/重新加载apache;如果您使用 nginx,则为 nginx 重新启动/重新加载 php-fpm。

远程服务器?

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

NGINX 安装?

您将必须添加:client_max_body_size 912M;在块/etc/nginx/nginx.confhttp{...}

于 2014-07-10T00:49:05.760 回答
67

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

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

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

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

如果您没有在 Windows 上使用 WAMP,那么我相信您可以轻松地将其适应您的环境。

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

于 2013-11-12T07:12:40.577 回答
24

针对 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 中选择它们。

在此处输入图像描述

希望这有帮助。

于 2015-07-07T16:05:05.947 回答
18

只需一行就完成了(确保 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但不建议这样做,因为它会显示给当时正在观看您屏幕的其他人,如果您不在那里写入,它会询问您何时按回车执行命令。

于 2014-03-10T07:15:45.703 回答
9

创建一个 zip 或 tar 文件并在 phpmyadmin 中上传就是这样..!

于 2017-01-15T05:43:13.343 回答
8

.sql通过在文件中具有以下配置,我能够导入一个大httpd.conf文件:

Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
    AllowOverride AuthConfig
    Require all granted

    php_admin_value upload_max_filesize 128M
    php_admin_value post_max_size 128M
    php_admin_value max_execution_time 360
    php_admin_value max_input_time 360
</Directory>
于 2014-08-07T09:44:12.880 回答
4

您必须编辑 php.ini 文件。更改以下内容upload_max_filesize post_max_size以适应您的文件大小。

尝试运行phpinfo()以查看其当前值。如果您不能随意更改 php.ini 文件,请直接尝试 ini_set()

如果这也不是一个选项,您可能想尝试一下bigdump

于 2012-07-03T06:40:02.750 回答
4

好的,您使用 PHPMyAdmin,但有时最好的方法是通过终端:

  • 连接到数据库:(mysql -h localhost -u root -p为用户和数据库位置切换 root 和 localhost)
  • 从转储开始导入:\. /path/to/your/file.sql
  • 去喝杯咖啡,吹嘘自己,因为你使用终端。

就是这样。请记住,如果您在远程服务器中,则必须将 .sql 文件上传到某个文件夹。

于 2018-03-27T18:24:13.587 回答
4

我不明白为什么没有人提到最简单的方法....只需使用http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/拆分大文件, 然后执行 vie mySQL admin从具有结构的文件开始的单独生成的文件

于 2016-11-04T12:18:57.017 回答
3

为此,您必须编辑php.ini文件,如果您使用的是 ubuntu 服务器,这是链接Upload large file in phpMyAdmin可能会对您有所帮助。

于 2016-03-08T11:47:54.667 回答
3

PHPmyadmin 也接受 gzip 格式的压缩文件,因此您可以 gzip 文件(如果没有,请使用7Zip )并上传压缩文件。由于它是一个文本文件,它将具有良好的压缩比。

于 2020-09-19T10:39:58.380 回答
2

我偶然发现了一篇文章,这对我来说效果最好

  1. 使用您喜欢的代码编辑器打开 phpmyadmin 目录中的 config.inc.php 文件。在您本地的 MAMP 环境中,它应该位于此处:

硬盘 » 应用程序 » MAMP » bin » config.inc.php

  1. 搜索该短语$cfg[‘UploadDir’]- 它看起来像这样:

$cfg['UploadDir'] = '';

  1. 将其更改为如下所示:

$cfg['UploadDir'] = 'upload';

  1. 然后,在该 phpmyadmin 目录中,创建一个新文件夹并将其命名为上传。

  2. 获取您尝试导入的大型 .sql 文件,并将其放入新的上传文件夹中。

  3. 现在,下次您将数据库导入 phpMyAdmin 时,您将在“要导入的文件”部分的标准浏览区域正下方看到一个新的下拉字段。

于 2015-06-19T16:59:29.917 回答
2

在 MAMP 中,您可以通过以下方式加载大文件:

  1. 在此目录 /MAMP/bin/phpMyAdmin/"folderName" 中创建一个新文件夹

  2. 然后编辑“/MAMP/bin/phpMyAdmin/config.inc.php”第 531 行:

       $cfg['UploadDir']= 'folderName';   
    
  3. 将您的 .sql 或 .csv 文件复制到此文件夹中。

  4. 现在您将在“PhpMyAdmin”中有另一个选项: 从 Web 服务器上传目录中选择 newFolder/:您可以选择您的文件并导入它。

    您现在可以加载任何文件!

于 2019-04-23T21:33:22.817 回答
2

一种解决方案是使用命令行;

mysql -h yourhostname -u username -p databasename < yoursqlfile.sql

只需确保明确说明要导入的SQL文件的路径即可。

就我而言,我使用了这个;

mysql -h localhost -u root -p databasename < /home/ejalee/dumps/mysqlfile.sql

瞧!你已准备好出发。

于 2018-10-24T09:46:46.757 回答
2

共享主机的答案。最好使用这个我刚刚用来将 300mb 数据库文件导入我的服务器的小脚本。该脚本称为大转储。

提供在资源有限的服务器上导入大型数据库的脚本

于 2018-01-03T02:30:54.363 回答
1

上传大文件的最佳方法不使用 phpmyadmin 。导致 phpmyadin 首先使用 php 上传类上传文件,然后执行导致其超时的大部分时间发生的 sql。

最好的方法是:进入 wamp 文件夹>bin>mysql>bin 目录然后写下这一行

mysql -u root -p listnames < latestdb.sql 这里 listnames 是数据库名称,首先请创建空数据库, latestdb.sql 是您的数据所在的 sql 文件名。

但一件重要的事情是您的数据库文件是否有 unicode 数据。您必须在任何一行之前打开您的 latestdb.sql 文件和一行。该行是:

设置名称 utf8; 然后你的命令模式运行这个脚本代码

于 2015-06-23T06:11:21.513 回答
1

我制作了一个 PHP 脚本,旨在导入由 phpmyadmin 生成的大型数据库转储。它叫做 PETMI,你可以在这里[project page] [gitlab page]下载它。它已经用 1GB 的数据库进行了测试。

于 2020-07-04T12:32:56.133 回答
0

更改您的服务器设置以允许大于 12 mb 的文件上传,您应该没问题。通常将服务器设置设置为 5 到 8 mb 用于文件上传。

于 2012-07-03T06:38:25.663 回答
0
/Applications/XAMPP/xamppfiles/etc/php.ini

首先找到这个位置->在记事本或崇高文本中打开php.ini文件然后在php.ini文本中找到这个“post_max_size,upload_max_filesize,memory_limit”并更改大小如下

post_max_size=450M

upload_max_filesize=450M

memory_limit=700M

注意:在执行此操作之前,请在 xampp 或 wamp 中停止 phpmyadmin 并执行上述方法,然后 startall(xampp 或 manager-osx)它将完美运行。然后你就可以在 phpmyadmin 中上传大文件了。谢谢

于 2021-10-18T04:53:55.730 回答
0

首先,将您的 mysql 数据库复制到本地磁盘 C:\ 以便轻松定位文件,然后打开命令提示符。

同时,导航到 mysql bin 文件夹,例如,如果您使用的是 xampp,请运行或键入下面的代码。

cd/ 这带你到本地磁盘指针
cd xampp 这带你到 xampp 文件夹
cd mysql 这带你到 mysql 文件夹
cd bin 这带你到 bin 文件夹

并运行下面的代码

mysql -u dbusername -p -D dbname < c:\yourdbtoupload.sql

这将提示输入密码,如果您不使用密码,请输入您的密码或单击输入按钮

在此处输入图像描述

于 2021-11-21T12:45:07.360 回答
0
  1. 在文本编辑器(如记事本)中打开您的 sql 文件
  2. 全选 -> 复制
  3. 转到 phpMyAdmin,选择您的数据库并转到 SQL 选项卡
  4. 将您复制的内容粘贴到剪贴板
  5. 它可能会弹出一个javascript错误,忽略它
  6. 执行
于 2017-11-29T08:43:06.283 回答