如何在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。
我偶然发现一篇文章,这对我来说是最好的
- 用你最喜欢的代码编辑器打开phpmyadmin目录中的config.inc.php文件。 在您当地的MAMP环境中,应该位于以下位置:
硬盘»应用»MAMP»bin»config.inc.php
- search词组
$cfg['UploadDir']
– 看起来像这样:
$cfg['UploadDir'] = '';
- 改变它看起来像这样:
$cfg['UploadDir'] = 'upload';
-
然后,在该phpmyadmin目录中,创build一个新的文件夹&名称上传。
-
把你想要导入的那个大的.sql文件放到新的上传文件夹中。
-
现在,下一次您将数据库导入到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; 那么你的命令模式运行这个脚本代码