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

Jas*_*han 71 mysql phpmyadmin

我想导入大约12 MB的sql文件.但它在加载时造成问题.有没有办法上传它而不拆分sql文件?

man*_*ada 86

尝试根据您的操作系统的味道从mysql控制台导入它.

mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file.sql path}
Run Code Online (Sandbox Code Playgroud)

或者,如果它位于远程服务器上,请使用-h标志指定主机.

mysql -u {DB-USER-NAME} -h {MySQL-SERVER-HOST-NAME} -p {DB-NAME} < {db.file.sql path}
Run Code Online (Sandbox Code Playgroud)

  • 对于那些想知道的人,您需要浏览到 MySQL/bin 文件夹才能运行该命令。效果很好。谢谢。 (3认同)
  • 最快的方法! (2认同)

Tos*_*kan 63

你需要做的3件事:

php.ini您的PHP安装中(注意:取决于您是否需要它用于CLI,apache或nginx,找到正确的php.ini进行操作)

post_max_size=500M

upload_max_filesize=500M

memory_limit=900M
Run Code Online (Sandbox Code Playgroud)

或设置其他值.

如果您安装了apache,则重新启动/重新加载 apache;如果使用nginx,则重新启动/重新加载用于nginx的php-fpm.

远程服务器?

也会增加max_execution_time,因为上传文件需要时间.

NGINX安装?

你必须在块中添加:client_max_body_size 912M;in/etc/nginx/nginx.confhttp{...}

  • 正确答案.这3行是必须的 (3认同)
  • 不要忘记在 php ini 中提高 max_execution_time 值并重新启动 apache (2认同)

Sir*_*han 61

编辑位于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导入页面时,您会注意到之前没有的下拉列表 - 它包含您刚刚创建的上载目录中的所有sql文件.您现在可以选择此项并开始导入.

如果您没有在Windows上使用WAMP,那么我相信您将能够轻松地将其适应您的环境.

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

  • 对于更新版本的phpMyAdmin,$ cfg ['UploadDir'] var根本不存在; 但是,这个解决方案仍然可以通过在文件中的新行上添加var来实现. (5认同)

Gui*_*sta 18

LINUX用户的解决方案(使用sudo运行)

创建"上传"和"保存"目录:

mkdir /etc/phpmyadmin/upload
mkdir /etc/phpmyadmin/save
chmod a+w /etc/phpmyadmin/upload
chmod a+w /etc/phpmyadmin/save
Run Code Online (Sandbox Code Playgroud)

然后编辑phpmyadmin的配置文件:

gedit /etc/phpmyadmin/config.inc.php
Run Code Online (Sandbox Code Playgroud)

最后为'upload'和'save'目录添加绝对路径:

$cfg['UploadDir'] = '/etc/phpmyadmin/upload';
$cfg['SaveDir'] = '/etc/phpmyadmin/save';
Run Code Online (Sandbox Code Playgroud)

现在,只需将文件放在/etc/phpmyadmin/upload文件夹上,然后您就可以从phpmyadmin中选择它们.

在此输入图像描述

希望这有帮助.

  • 775.不是777.不应该建议将777设置为在实时服务器上运行.它有安全问题. (2认同)

Vik*_*eta 13

只需一行即可完成(确保mysql命令可用作全局或只需转到mysql安装文件夹并进入bin文件夹)

mysql -u database_user_name -p -D database_name < complete_file_path_with_file_name_and_extension 
Run Code Online (Sandbox Code Playgroud)

这里

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

---不要忘记在<数据库名称后添加标志---

具有名称和扩展名的完整文件路径可以是

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

---如果您的文件夹和文件名称包含空格而不是使用双重报价---

提示和注意:您可以在之后写入密码,-p但不建议这样做,因为它会显示给当时正在观看屏幕的其他人,如果您没有在那里写,它会询问您何时按Enter键执行命令.


Sac*_*une 8

创建一个zip或tar文件,然后在phpmyadmin中上传即可...


小智 7

.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>
Run Code Online (Sandbox Code Playgroud)


小智 6

我不明白为什么没有人提到最简单的方法......只需使用http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/分割大文件 ,然后执行 vie mySQL admin从具有结构的文件开始的单独生成的文件


Mar*_*lon 6

PHPmyadmin 还接受 gzip 格式的压缩文件,因此您可以 gzip 文件(如果没有,请使用7Zip )并上传压缩文件。由于它是文本文件,因此它将具有良好的压缩比。


Mar*_*vel 5

好的,您使用 PHPMyAdmin 但有时最好的方法是通过终端:

  • 连接到数据库:(mysql -h localhost -u root -p切换 root 和 localhost 作为用户和数据库位置)
  • 开始从转储导入:\. /path/to/your/file.sql
  • 去喝杯咖啡,吹嘘一下自己,因为你使用终端。

就是这样。请记住,如果您位于远程服务器中,则必须将 .sql 文件上传到某个文件夹。


Tsc*_*cka 0

更改服务器设置以允许上传大于 12 MB 的文件,应该没问题。通常,服务器设置设置为 5 到 8 mb 用于文件上传。