我想导入大约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)
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{...}
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/
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中选择它们.
希望这有帮助.
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键执行命令.
小智 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从具有结构的文件开始的单独生成的文件
好的,您使用 PHPMyAdmin 但有时最好的方法是通过终端:
mysql -h localhost -u root -p切换 root 和 localhost 作为用户和数据库位置)\. /path/to/your/file.sql就是这样。请记住,如果您位于远程服务器中,则必须将 .sql 文件上传到某个文件夹。