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

我想导入一个约12 MB的SQL文件。 但是它在加载时造成问题。 有没有什么办法可以上传它,而不分裂的SQL文件?

尝试根据您的操作系统的味道从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} 

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

在它上面find$cfg['UploadDir'] ,并更新到$cfg['UploadDir'] = 'upload';

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

然后将您要导入的大型SQL文件放到新的upload目录中。 现在,当您进入phpmyadmin控制台中的数据库导入页面时,您会注意到一个不存在的下拉列表,它包含您刚创build的上传目录中的所有sql文件。 您现在可以select这个并开始导入。

如果你不在Windows上使用WAMP,那么我相信你可以在不太麻烦的情况下适应你的环境。

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

你必须做3件事:

在你的PHP安装的php.ini (注意:如果你想要它的CLI,Apache或Nginx,find正确的php.ini操作)

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

或设置其他值。 如果您使用nginx,请重新启动apache,如果您安装了apache,或者使用php-fpm for nginx。

只要一行,你就完成了(确保mysql命令是全局的,或者直接进入mysql安装文件夹并进入bin文件夹)

 mysql -u database_user_name -p -D database_name < complete_file_path_with_file_name_and_extension 

这里

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

—不要忘记在数据库名称后加上< SIGN —

完整的名称和扩展名的文件path可以像

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

—如果您的文件夹和文件名包含空间比绑定使用双引号—

提示和注意:您可以在-p之后编写您的密码,但不build议这样做,因为此时将显示给正在监视屏幕的其他人,如果您不写信,将询问您何时执行命令input。

LINUX用户解决scheme(使用sudo运行)

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

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

然后编辑phpmyadmin的configuration文件:

 gedit /etc/phpmyadmin/config.inc.php 

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

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

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

在这里输入图像说明

希望这个帮助。

我可以通过在httpd.conf文件中进行以下configuration来导入一个大的.sql文件:

 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> 

你将不得不编辑php.ini文件。 更改以下upload_max_filesize post_max_size以适应您的文件大小。

尝试运行phpinfo()来查看它们的当前值。 如果您不是可以直接更改php.ini文件,请尝试ini_set()

如果这也不是一个select,你可能会喜欢尝试一下bigdump 。

为此,你将不得不编辑php.ini文件,如果你使用的是Ubuntu服务器,这是链接在phpMyAdmin上传大文件可能会帮助你。

创build一个zip或tar文件,并上传在phpmyadmin这就是它..!

我不明白为什么没有人提到最简单的方法….只是拆分大文件与http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/和后执行vie mySQLpipe理员从具有Structure的那个开始分离生成的文件

更改您的服务器设置,允许file upload大于12 MB,你应该没问题。 通常服务器设置被设置为5到8 MB,用于file upload。

我偶然发现一篇文章,这对我来说是最好的

  1. 用你最喜欢的代码编辑器打开phpmyadmin目录中的config.inc.php文件。 在您当地的MAMP环境中,应该位于以下位置:

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

  1. search词组$cfg['UploadDir'] – 看起来像这样:

$cfg['UploadDir'] = '';

  1. 改变它看起来像这样:

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

  1. 然后,在该phpmyadmin目录中,创build一个新的文件夹&名称上传。

  2. 把你想要导入的那个大的.sql文件放到新的上传文件夹中。

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

上传大文件的最佳方式不是使用phpmyadmin。 导致phpmyadin首先上传文件使用PHP上传类,然后执行SQL导致大部分时间发生的时间。

最好的办法是:inputwamp文件夹> bin> mysql> bin dirrectory然后写这行

mysql -u root -p listnames <latestdb.sql这里listnames是数据库名称,首先请创build空的数据库,而latestdb.sql是你的sql文件名,你的数据出现在哪里。

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

SET NAMES utf8; 那么你的命令模式运行这个脚本代码