我想导入一个大约12 mb的sql文件。但是它在加载时引起问题。有什么方法可以上传而不拆分sql文件吗?
我想导入一个大约12 mb的sql文件。但是它在加载时引起问题。有什么方法可以上传而不拆分sql文件吗?
Answers:
根据您的操作系统,尝试从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}
mysql
在服务器上仅进行一次迁移安装要容易得多。感谢您的帮助!(而且,我不需要括号)
您必须做的三件事:
在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.conf
该http{...}
块
/etc/php/7.1/apache2/php.ini
不起作用
phpinfo()
并验证值是否已正确设置并且服务器已重新启动
编辑位于phpmyadmin目录中的config.inc.php文件。就我而言,它位于C:\wamp\apps\phpmyadmin3.2.0.1\config.inc.php
。
找到上面的线并将$cfg['UploadDir']
其更新为$cfg['UploadDir'] = 'upload';
然后,在phpmyadmin目录中创建一个名为“ upload”的目录(对我而言,位于C:\wamp\apps\phpmyadmin3.2.0.1\upload\
)。
然后将您要导入的大型SQL文件放入新upload
目录。现在,当您进入phpmyadmin控制台中的db import页面时,您会注意到以前没有的下拉菜单-它包含您刚刚创建的上载目录中的所有sql文件。现在,您可以选择此项并开始导入。
如果您没有在Windows上使用WAMP,那么我相信您可以在没有太大麻烦的情况下使其适应您的环境。
参考:http : //daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/comment-page-4/
config.default.php
同一目录的,使用phpmyadmin版本4.6.4
libraries/config.default.php
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中选择它们。
希望对您有所帮助。
sudo chmod 777 your-filename.sql
只需一行就可以完成(确保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
此之后输入密码,但是不建议您这样做,因为它会向当时正在观看屏幕的其他人显示,如果您不在那里输入密码,它将询问您何时按Enter执行命令。
.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>
我不明白为什么没有人提到的最简单的方法....只是拆分大文件http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/ 后只执行VIE MySQL管理从带有Structure的文件开始的单独生成的文件
为此,您将必须编辑php.ini
文件,如果您使用的是ubuntu服务器,则此链接为phpMyAdmin中的上传大文件可能会为您提供帮助。
我偶然发现了一篇文章,这对我来说效果最好
硬盘»应用程序»MAMP»bin»config.inc.php
$cfg[‘UploadDir’]
–它看起来像这样:$cfg['UploadDir'] = '';
$cfg['UploadDir'] = 'upload';
然后,在该phpmyadmin目录中,创建一个新文件夹并命名为上载。
提取要导入的大型.sql文件,然后将其放入新的上载文件夹中。
现在,下次您将数据库导入phpMyAdmin时,将在“要导入的文件”部分的标准浏览区域下方看到一个新的下拉字段。
好的,您使用PHPMyAdmin,但有时最好的方法是通过终端:
mysql -h localhost -u root -p
将root和localhost切换为用户和数据库位置)\. /path/to/your/file.sql
就是这样。请记住,如果您在远程服务器中,则必须将.sql文件上传到某个文件夹。
对于那些共享主机的答案。最好使用这个小脚本,我只是用来将300mb DB文件导入到服务器中。该脚本称为Big Dump。
上载大文件的最佳方法不使用phpmyadmin。导致phpmyadin首先使用php upload类上传文件,然后执行sql,导致大部分时间超时。
最好的方法是:输入wamp文件夹> bin> mysql> bin目录,然后编写此行
mysql -u root -p listnames <Latestdb.sql, 这里的listnames首先是创建数据库的名称,而newdb.sql是数据所在的sql文件名。
但是重要的一点是,如果您的数据库文件包含unicode数据。您必须先打开Latestdb.sql文件,然后再打开任何一行。该行是:
设置名称utf8; 然后您的命令模式运行此脚本代码
在MAMP中,您可以通过以下方式加载大文件:
在此目录/ MAMP / bin / phpMyAdmin /“ folderName”中创建一个新文件夹
然后编辑“ /MAMP/bin/phpMyAdmin/config.inc.php”第531行:
$cfg['UploadDir']= 'folderName';
将.sql或.csv文件复制到此文件夹中。
现在,您将在“ PhpMyAdmin”中拥有另一个选项:从Web服务器上载目录中选择newFolder /:您可以选择文件并将其导入。
您现在可以加载任何文件!
更改服务器设置,以允许上传大于12 mb的文件,您应该可以。通常,用于文件上传的服务器设置设置为5到8 mb。
我已经制作了一个PHP脚本,旨在导入由phpmyadmin生成的大型数据库转储。它称为PETMI,您可以在[项目页面] [gitlab页面]上下载它。已通过1GB数据库测试。
mysql workbench
ormysql Yog