将大型.sql文件导入MySQL

时间:2013-01-04 16:42:21

标签: mysql mysql-workbench database-restore

我收到了一个非常大的mysql备份文件。它是~630 MB ......我想有人认为将图像存储在数据库中是一个好主意......无论如何,我需要在MySQL中以某种方式恢复数据。但由于文件大小,我无法完成它。

起初我尝试使用MySQL Workbench。但是当我尝试导入文件时,它会给我以下错误:

  

无法分配xxxxx字节来读取文件C:\ backup.sql

然后我尝试通过命令提示符来完成。我在cmd中输入了以下内容:

C:\> mysql -u user -pPassword database < C:\backups.sql

最终给了我以下警告:

  

ERROR 2006(HY000)第68230行:MySQL服务器已经消失

猜猜这也是因为大文件大小?

我对如何恢复数据没有其他想法。这还有可能吗?

2 个答案:

答案 0 :(得分:11)

增加wait_timeout和/或interactive_timeout应该会有所帮助。首先检查当前值:

C:\> mysql -hlocalhost -uroot -proot

mysql> SHOW VARIABLES LIKE 'wait_timeout';

如果这个非常低(例如30秒),那么增加它(例如5分钟):

mysql> SET SESSION wait_timeout = 300;
mysql> SET SESSION interactive_timeout = 300;

然后执行您的SQL文件:

mysql> \. database.sql

答案 1 :(得分:3)

我有一个3.5G转储文件,我尝试使用PhpMyAdmin和MySql工作台导入它但没有成功。所以我只是用控制台来运行它

# mysql -u user_name -pYour_passwd your_db < your_dump.sql

并且效果很好