我最近买了一台新电脑,所以我想我会把所有的网络项目都移走。移动文件很简单,但移动数据库似乎有点困难。我使用phpMyAdmin导出了所有数据库,并将其保存到localhost.sql。然后我尝试使用phpMyAdmin在我的新计算机上导入它,我收到错误:
No data to import. Either no filename was sent or the filesize exceeded the maximum allowed size. See FAQ 1.16. (This was translated from Swedish)
我按照建议查看了常见问题解答。他们提到了一个名为BigDump的工具。所以我下载了它,看了你需要运行它的设置后,我意识到我不能使用它。为什么?因为它需要连接到一个特定的数据库。我正在尝试一次导入多个数据库。所以,那里没有成功。
我还尝试将PHP的upload_max_filesize(以及常见问题解答中提到的另一个)设置为类似于999的内容。由于某些原因,这似乎不起作用。在重新运行之前,我确实重启了所有服务。
我应该提一下,我在旧计算机上使用过XAMPP,然后在新计算机上切换到WAMP。不过那应该没关系,对吗?因为两个“包”都使用phpMyAdmin和apache。
关于如何绕过这场噩梦的任何建议?
答案 0 :(得分:52)
<强>方法文档强>
确保在“php.ini”(位于“php.exe”的位置更改*“post_max_size”*和*“upload_max_filesize”* >是)。
以下示例允许您上载和导入128MB sql文件:
post_max_size=128M
upload_max_filesize=128M
重启Apache,你就完全了。
<强>替代强>
解决此问题的另一种方法是使用命令行。但这是一种解决方法,并且像解决方法一样难看:
C:\xampp\mysql\mysql.exe -u root -p db_name < C:\some_path\your_sql_file.sql
由于您没有使用服务器而是使用命令行,因此上传和POST大小无关紧要。这就是为什么我称之为“解决方法”,因为它实际上并没有解决您的问题。
答案 1 :(得分:19)
其他人总是试图重新配置php.ini文件,但对我来说,我认为最好的做法是使用你的MYSQL控制台,因为它确实可以节省你的时间。
以下是MYSQL控制台的分步指南:
打开MYSQL控制台,然后运行它。
类型:
<强>的MySQL&GT;使用database_name;
<强>的MySQL&GT; source location_of_your_file;
location_of_your_file应该看起来像C:\ mydb.sql
所以命令是mysql&gt; source C:\ mydb.sql;
这种导入sql转储对BIG SQL FILE非常有帮助。
我将我的文件mydb.sql复制到目录C:。它应该是大写C:为了运行因为它会给你一个mysql错误或语法错误
答案 2 :(得分:9)
:
答案 3 :(得分:7)
在xampp\php\php.ini
查找
post_max_size = 8M
upload_max_filesize = 2M
max_execution_time = 30
max_input_time = 60
memory_limit = 8M
更改为:
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
答案 4 :(得分:3)
您可以从命令行导入 - 类似mysql < databasedump.sql
(取决于操作系统)。
答案 5 :(得分:3)
答案 6 :(得分:1)
修改my.ini文件
wait_timeout=28800
interactive_timeout = 28800
max_allowed_packet=32M
重启mysql
打开dump.sql文件 添加以下行
use mydbname
转到mysql文件夹并运行此命令
mysql -u root -h localhost < dump.sql
答案 7 :(得分:1)
按照此步骤转储庞大的数据库:
1)从http://www.ozerov.de/bigdump/下载php脚本 BigDump.php
2)在项目文件夹(htdocs或www)中移动 bigdump.php 和 databasedump.sql 。
3)打开 bigdump.php 文件并编辑以下部分:
$db_server = 'localhost';
$db_name = '';
$db_username = '';
$db_password = '';
$filename = '.sql';
4)在浏览器中打开 bigdump.php ,然后点击导入链接。
答案 8 :(得分:1)
这会在几秒钟内导入你的大型sql文件:
e:\xampp\mysql\bin>mysql -u root -h localhost < verybigsqlfile.sql
不要使用phpmyadmin导入大型sql文件。如果您在线使用mysql,那么请访问mysql控制台。
答案 9 :(得分:1)
压缩sql文件(仅限gzip,bzip2,zip)并导入它。压缩像db csv文件这样的测试文件会大大减少文件大小(~11 mb到2 mb)和phpmyadmin导入引擎可以减少压缩数据
答案 10 :(得分:0)
如果你在Linux上,你可以去终端,在连接到mysql并选择数据库之后,只需输入:
\. /path/to/database/database.sql
答案 11 :(得分:0)
我知道这是旧的但是...... 我很久以前就想出了这个问题。 我使用控制台来执行dump sql文件。 或者我使用adminer替代PHPmyAdmin。
答案 12 :(得分:0)
简单的解决方案就是下载&amp;安装“MySql Workbench”软件,其基于gui并且易于使用。我最近导入了300mb大小的mysql数据库。
答案 13 :(得分:0)
我尝试更改允许的大小,但这并没有解决问题。
但是,在我的特定情况下,有一个名为“ uploaddir ”的文件夹位于:
的EasyPHP \模块\的phpmyadmin \ uploaddir
我把SQL文件放在那里,然后回到PHP My Admin的“Import”选项卡。 有一个选项允许我上传已经位于“uploaddir”文件夹中的文件;他们没有限制。
我正在使用Windows和EasyPHP 12.1
答案 14 :(得分:0)
使用SQLYog进行数据库操作,这是专业人士的最佳选择。通过使用SQLYog,您可以导入sql db的 nGB {n-&gt; finite_size} 。
答案 15 :(得分:0)
如果您正在进行非常大的数据库上传,但Web界面将限制为HTTP最大HTTP请求大小
修改PHP.ini
以增加上传限制
找到这一行
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = ??M **<--- change here ....**
然后重启服务器
/sbin/service httpd restart
或使用directadmin重新启动http服务
答案 16 :(得分:0)
phpmyadmin也能够从硬盘驱动器读取 - 上传转储并使用此功能。但是,如果可能的话,我强烈建议您从控制台进行操作。它的速度更快,因为php不必先处理文件,而是直接加载到服务器中。