mysql - 将大型 .sql 文件导入 MySQL

标签 mysql mysql-workbench database-restore

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

起初我尝试用 MySQL Workbench 来做。但是当我尝试导入文件时,出现以下错误:

Could not allocate xxxxx bytes to read file C:\backup.sql

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

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

这最终给了我以下警告:

ERROR 2006 (HY000) at line 68230: MySQL server has gone away

你猜也是因为文件太大?

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

最佳答案

增加 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

关于mysql - 将大型 .sql 文件导入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161173/

相关文章:

MySQL - 大规模的结构变化

mysql - MySQL 中如何检查字符串是否有值(value)

c# - 服务器还原数据库失败

mysql - mysql的随机值

mysql-workbench - 如何在 MySQL Workbench 中合并 2 个模式?

postgresql - 网络故障后恢复 pg_restore

sql - 将database.bak从本地机器恢复到服务器

mysql - El Capitan mysql 设置数据目录

mysql - 如何为 MySQL 数据库用户设置哈希密码

Mysql慢查询优化