已经花了12个小时,我尝试将sql文件导入rds,我使用以下命令:
mysqldump -u <user> -h <rds_server> -p <database> < filename.sql
但是什么都不起作用,结果,我犯了这个错误
-- MySQL dump 10.13 Distrib 5.7.22, for Linux (i686)
--
-- Host: xxxxxxxxxx.us-east-2.rds.amazonaws.com Database: xxxxxxxxxx
-- ------------------------------------------------------
-- Server version 5.6.39-log
/*!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 */;
mysqldump: Couldn't execute 'SELECT DISTINCT TABLESPACE_NAME, FILE_NAME, LOGFILE_GROUP_NAME, EXTENT_SIZE, INITIAL_SIZE, ENGINE FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND TABLESPACE_NAME IN (SELECT DISTINCT TABLESPACE_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA IN ('informagenie')) ORDER BY TABLESPACE_NAME, LOGFILE_GROUP_NAME': Lost connection to MySQL server during query (2013)
我在等你的帮助!
编辑:2018年5月19日
head -n 10 import_file.sql
完成
-- Database Manager 4.2.5 dump
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `wp_2_wpmm_subscribers`;
CREATE TABLE `wp_2_wpmm_subscribers` (
`id_subscriber` bigint(20) NOT NULL AUTO_INCREMENT,
1条答案
按热度按时间jhdbpxl91#
我认为,您在命令中做了一些根本错误的事情,或者您甚至无法连接到rds,这就是您的导入无法工作的原因。我在这里陈述的步骤,也将有助于您调试与
connection failure
或者no connection at all
.尝试导入我在下面提供的一个简单文件。这是可选的步骤,但我建议你这样做。
将下面的sql语句保存到名为red\u boy.sql的文件中
执行以下命令。
如果以上两个步骤执行成功,那么您与rds的连接/权限没有问题,您可以继续。
除步骤3外,以上所有步骤都在我的rds上得到了充分的验证,并且正常工作。因此,如果不适合您,那么下一步就是查看您的文件“filename.sql”以查看其中的错误。我可以试着重新回答。
在2018年5月24日根据@doms评论编辑,第3步仍然失败,我看到一个或多个表的问题,或者过度连接失败,因为数据量可能很大。
将以下内容保存在一个sh文件中并执行它。它将从源数据库中逐个导出表并将其导入到目标数据库中。