无法通过 phpmyadmin 导入数据库文件过大
Posted
技术标签:
【中文标题】无法通过 phpmyadmin 导入数据库文件过大【英文标题】:Can't import database through phpmyadmin file size too large 【发布时间】:2012-03-24 11:42:41 【问题描述】:我一直在尝试通过 phpMyAdmin 导入数据库。我的数据库文件是a.sql
,它的大小是 1.2 GB
我正在尝试在本地导入它,而 phpMyAdmin 说:
您可能尝试上传过大的文件。有关解决此限制的方法,请参阅文档。
请帮助我真的需要这个工作。
【问题讨论】:
您参考了文档吗?你有 shell 访问你的服务器吗? 最佳Ans 【参考方案1】:使用命令行:
mysql.exe -u USERNAME -p PASSWORD DATABASENAME < MYDATABASE.sql
MYDATABASE.sql 是您的 sql 文件。
【讨论】:
如果您只有 FTP 访问服务器,您将如何做到这一点? @Kyotoweb 命令行中 -p 和 PASSWORD 之间没有空格(我无法编辑您的帖子,因为更改只有一个字符)。 @nineside 他在谈论 WAMP 和本地。考虑到环境,只是给了他解决问题的最快方法。 aah 我没有发现 WAMP - OP 没有提到本地,但我猜大多数 Windows 服务器提供商都允许 RDP,所以这可能在很大程度上无关 使用此选项时,只需确保在存储 .sql 文件的文件夹中运行脚本,例如 C:\downloads>mysql.exe -u USERNAME -pPASSWORD DATABASENAME 【参考方案2】:您有三个选择:
使用其他方式获取服务器上的文件,并在服务器上使用mysql客户端 使用另一个客户端连接到服务器并加载数据 更改您的 PHP 设置以允许如此大的文件。不要忘记增加执行时间。【讨论】:
【参考方案3】:这里没有人提到的另一个选项是使用BigDump 之类的工具对数据库进行交错加载以绕过限制。这是一个简单的 PHP 脚本,每次加载数据库的一个块,然后重新启动并继续下一个块。
【讨论】:
【参考方案4】:这是由于 PHP 对上传有文件大小限制。
如果您有终端/shell 访问权限,那么上述答案@Kyotoweb 将起作用。
完成它的一种方法是创建一个 .htaccess/ini 文件文件来更改 PHP 设置以获取通过 PHPmyAdmin 上传的 sql 文件。
php_value upload_max_filesize 120M //file size
php_value post_max_size 120M
php_value max_execution_time 200
php_value max_input_time 200
请注意,您应该在上传后删除此文件。
【讨论】:
非常感谢。它有效,但我需要更多选项,我们必须添加一个变量 ($cfg ['ExecTimeLimit'] = 0;),我们必须在 c:\wamp\apps\phpmyadmin\config.inc.php 中声明它。我在这里提供链接 (john-dugan.com/?p=638) 或者您可以在 RedHat 6.6 中使用与上述相同的指令编辑 /etc/php.ini,始终重启 apache,例如:RedHat 中的 sudo service httpd restart。 应该在哪里创建这个 ini 文件。是否在 PHPmyAdmin 文件夹中? @AbelJojo,这个答案很糟糕,请看这里:***.com/a/38607904/4684797【参考方案5】:这是我所做的:
-
转到我的 XAMPP 安装目录
C:\xampp\php
使用文本编辑器打开名为php.ini
的“配置设置”文件,最好也可以使用Windows 机器记事本。
886 号线附近某处,请将其更新为upload_max_filesize = 128M
类似地在第 735 行 post_max_size = 128M
在线 442 max_execution_time = 300
在线 452 max_input_time = 60
从 XAMPP 控制面板或在 Windows 中使用 CMD 重新启动 Apache https://***.com/a/6723485/969092
完成!
【讨论】:
和 OP 有同样的问题。这个解决方案对我有用。 谢谢,看到一大堆其他更复杂的答案,效果很好。【参考方案6】:使用 phpmyadmin 上传大尺寸数据 执行以下步骤。
-
从 C:\wamp\bin\apache\Apache2.4.4\bin 更新打开 php.ini 文件
以下几行
max_execution_time = 259200
max_input_time = 259200
memory_limit = 1000M
upload_max_filesize = 750M
post_max_size = 750M
比重新启动 wamp 服务器或重新启动所有服务后现在上传
使用 phymyadmin 中的导入功能的数据。应用第二步如果
直到不上传数据。
打开config.default.php文件
c:\wamp\apps\phpmyadmin4.0.4\libraries(打开这个文件accoring
到 phpmyadmin 版本)
查找$cfg['ExecTimeLimit'] = 300;
替换为$cfg['ExecTimeLimit'] = 0;
现在您可以上传数据了。
您也可以使用 MySQL 控制台上传大型数据库,如下所示。
-
点击 WampServer 图标 -> MySQL -> MySQL 控制台
在弹出窗口中输入您的数据库密码,例如
root
通过写入命令USE DATABASENAME
为插入数据选择数据库名称
然后加载源sql文件为SOURCE C:\FOLDER\database.sql
按回车键插入数据。
注意:您不能加载压缩的数据库文件,例如database.sql.zip
或 database.sql.gz
,你必须先提取它。否则控制台会崩溃。
【讨论】:
MySQL 控制台拯救了我的一天! +1 用于 mysql 控制台。 600mb 数据库在 30 秒内导入。使用 xampp,方法:cmd
> cd xampp_dir/mysql/bin
> mysql -h localhost -u root db_name
> 输入密码,然后从上述解决方案的第 4 步。【参考方案7】:
您无需编辑php.ini
或任何东西。
我建议最好的方法是使用 MySQL WorkBench。
只需按照步骤操作即可。
安装 MySQL WorkBench 6.0
并且在“导航面板”(左侧)中,“管理”下有选项调用“数据导入”。点击它并[按照以下步骤]
-
点击导入独立文件并选择您的 SQL 文件
转到我的文档并创建文件夹调用
"dump"[simple]
。
现在您可以上传文件了。点击下方的导入按钮。
【讨论】:
【参考方案8】:对于 ubuntu 14.04 使用这个:
1- 使用 gedit 或 nano 打开 php.ini: 须藤gedit /etc/php5/apache2/php.ini 2- 找到“upload_max_size”,然后将这一行替换为以下几行: max_execution_time = 259200 最大输入时间 = 259200 memory_limit = 1000M upload_max_filesize = 750M post_max_size = 750M 3- 保存 php.ini 并关闭编辑器 4-重启apache2: sudo 服务 apache2 重启 5- 现已开放 localhost://phpmyadmin/ 在浏览器中并上传您的 database.sql【讨论】:
谢谢,它有帮助。我有 Ubuntu 18.04,对我来说,php.ini
的路径是 /etc/php/7.2/apache2/php.ini
【参考方案9】:
将大数据库导入phpmyadmin有两种方法 1 从 php.ini 增加文件执行大小 2 使用命令行导入大数据库。
【讨论】:
【参考方案10】:您也可以尝试压缩(压缩)文件。如果我无法为 phpmyadmin 访问 php.ini,它有时对我有用。如果压缩将文件大小减小到低于最大文件大小,它可能会起作用!
【讨论】:
【参考方案11】:如果您在 Xampp 中使用 MySQL,请执行以下步骤。
在XAMPP控制面板>Apache-Config> PHP(php.ini)文件中找到以下内容
post_max_size = 8M
upload_max_filesize = 2M
max_execution_time = 30 ut_time = 60enter code here
memory_limit = 8M
并根据您的需要更改它们的尺寸。 我正在使用这些值
post_max_size = 30M
upload_max_filesize = 30M
max_execution_time = 4500
max_input_time = 4500
memory_limit = 850M
【讨论】:
【参考方案12】:在php.ini
文件中设置以下值 (C:\xampp\php\
)
max_execution_time = 0
max_input_time=259200
memory_limit = 1000M
upload_max_filesize = 750M
post_max_size = 750M
打开 config.default 文件(C:\xampp\phpMyAdmin\libraries\config.default)并设置如下值:
$cfg['ExecTimeLimit'] = 0;然后打开 config.inc 文件(C:\xampp\phpMyAdmin\config.inc)。并粘贴到以下行:
$cfg['UploadDir'] = 'upload';
转到 phpMyAdmin(C:\xampp\phpMyAdmin
) 文件夹并创建名为 upload
的文件夹并将您的数据库粘贴到新创建的上传文件夹(不需要压缩)
最后,进入 phpMyAdmin 并上传您的数据库(请在下拉菜单中选择您的数据库)
-
这就是宝贝! :)
*这需要很多时间。在我的 db(266mb) 中需要 50 分钟才能上传。所以要有耐心! *
【讨论】:
【参考方案13】:如果您不想更改设置或玩命令行。 可以选择压缩文件并在 phpMyAdmin 中上传。它应该会大大减小尺寸。
【讨论】:
以上是关于无法通过 phpmyadmin 导入数据库文件过大的主要内容,如果未能解决你的问题,请参考以下文章
phpMyAdmin:无法导入庞大的数据库文件,有啥建议吗?