mysql导入数据,导入不成功的处理

今天在一台新机器上,要把一个4个多G的sql脚本,导入到新库中。

方法一:windows系统下,使用数据库工具导入

我把这个脚本文件下载到本地,使用mysql工具提供的脚本导入方式。

导入到一小半,发生以下问题。

 

Task 'MySQL restore' finished at Tue May 23 09:54:19 CST 2023
2023-05-23 09:54:19.627 - IO error: Process failed (exit code = 1). See error log.
2023-05-23 09:54:19.628 - java.io.IOException: Process failed (exit code = 1). See error log.
 at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.validateErrorCode(AbstractNativeToolHandler.java:208)
 at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.executeProcess(AbstractNativeToolHandler.java:188)
 at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.doExecute(AbstractNativeToolHandler.java:248)
 at org.jkiss.dbeaver.ext.mysql.tasks.MySQLNativeToolHandler.doExecute(MySQLNativeToolHandler.java:47)
 at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.lambda$0(AbstractNativeToolHandler.java:54)
 at org.jkiss.dbeaver.runtime.RunnableContextDelegate.lambda$0(RunnableContextDelegate.java:39)
 at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

显然,我也不太懂这个错误怎么处理,方法一宣告失败。

方法二:在linux系统下,使用mysqldump命令

命令格式:mysqldump -uroot -proot --database vas < /tmp/vas.sql

发生错误信息:

mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)" when trying to connect

这个错误信息,是因为,我们mysql使用docker安装启动的。没有配置localhost信息,那么命令找到配置文件中的数据库文件地址不正确。

对上面命令,需要指定服务器地址。修改如下:

mysqldump -uroot -proot -h10.215.209.230 --database vas < /tmp/vas.sql

执行结果如下:

-- MySQL dump 10.14  Distrib 5.5.68-MariaDB, for Linux (x86_64)
--
-- Host: 10.215.209.230    Database: vas
-- ------------------------------------------------------
-- Server version       5.5.62

/*!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 */;

--
-- Current Database: `vas`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vas` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `vas`;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2023-05-23 14:41:40

也没导入成功。

网上还有一些说这个去除 /* 等,一样不成功。

还有的是原来没有--database 这个选项的,等等。

尝试后都没有成功。

方式三:mysql命令导入

我们使用mysql命令导入

mysql -h10.215.209.230 -uroot -P3306 -proot vas < /tmp/vas.sql

这个执行成功了,不过文件很大,中间一直卡这,没任何信息,直到执行成功。

如果大家执行时,发现mysql没找到,那就到mysql目录下

我用的服务器上是在/usr/bestv/mysql/data/mysql 下

到这里,我的导入尝试就成功了。4多G的文件,导入大概也就2分钟样子,还是很快的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值