将大型.sql文件导入MySQL

w00*_*w00 12 mysql database-restore mysql-workbench

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

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

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

然后我试图通过命令提示符来做到这一点.我输入以下内容cmd:

C:\> mysql -u user -pPassword database < C:\backups.sql
Run Code Online (Sandbox Code Playgroud)

这最终给了我以下警告:

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

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

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

Sal*_*n A 11

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

C:\> mysql -hlocalhost -uroot -proot

mysql> SHOW VARIABLES LIKE 'wait_timeout';
Run Code Online (Sandbox Code Playgroud)

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

mysql> SET SESSION wait_timeout = 300;
mysql> SET SESSION interactive_timeout = 300;
Run Code Online (Sandbox Code Playgroud)

然后执行您的SQL文件:

mysql> \. database.sql
Run Code Online (Sandbox Code Playgroud)

  • 我还将`interactive_timeout`改为大的东西.但是那个`wait_timeout`并没有为我做的伎俩.之后我还将'connect_timeout`从`10`更改为'10000`,这对我来说就是一招. (2认同)