我将一个大型数据库转储到一个 SQL 文件中,该文件包含一个表的大型 BLOB 附件。在进行转储时,我打开了 hex-blob,并且我之前已经多次完成此转储,没有任何问题。
转储是使用 MySQL 5.1 数据库完成的。
我现在有一个全新安装的 MySQL 5.6 并且不能导入这个 SQL 文件。该文件本身约为 13GB,并且每次都在同一行失败。
mysql --user=root --password=xxxx --database=budgets_3 < budgets_3.sql
Warning: Using a password on the command line interface can be insecure.
ERROR 2006 (HY000) at line 3251: MySQL server has gone away
MySQL没有重新启动或崩溃。我已经使用大文件的文本查看了 SQL 文件,但看不到任何错误。除了insert
声明非常大。我已经在 CLI 和 MySQL Workbench 上运行了导入,但都失败了。我已经设置了max_allowed_packet=128M
但仍然无法正常工作(应该绰绰有余)。
这是 SQL 文件顶部的粘贴。
-- MySQL dump 10.13 Distrib 5.1.72, for Win64 (unknown)
--
-- Host: localhost Database: nosweatbudgets_3
-- ------------------------------------------------------
-- Server version 5.1.72-community
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
这是来自我的工作站,我正在尝试更新到 MySQL 5.6,如果我无法解决这个问题,我将不得不从生产服务器上进行转储。这需要几个小时才能下载,所以我想看看我是否可以在这里工作。