用loader导入sql文件的时候报错

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:2.7.11
  • 【问题描述】:通过tidb-enterprise-tools工具的loader模块命令行模式导入sql文件 命令 ./bin/loader -d /home/data/temp -h 172.19.1.103 -u root -P 4000 以下是报错信息 2019/12/18 10:57:47 printer.go:52: [info] Welcome to loader 2019/12/18 10:57:47 printer.go:53: [info] Release Version: v1.0.0-77-g68ca5fc 2019/12/18 10:57:47 printer.go:54: [info] Git Commit Hash: 68ca5fcc676b07acb79a0f93ab0363e3e64d4254 2019/12/18 10:57:47 printer.go:55: [info] Git Branch: master 2019/12/18 10:57:47 printer.go:56: [info] UTC Build Time: 2019-12-04 06:54:57 2019/12/18 10:57:47 printer.go:57: [info] Go Version: go version go1.13 linux/amd64 2019/12/18 10:57:47 main.go:51: [info] config: {“log-level”:“info”,“log-file”:"",“status-addr”:":8272",“pool-size”:16,“dir”:"/home/data/temp",“db”:{“host”:“172.19.1.103”,“user”:“root”,“port”:4000,“sql-mode”:"@DownstreamDefault",“max-allowed-packet”:67108864},“checkpoint-schema”:“tidb_loader”,“config-file”:"",“route-rules”:null,“do-table”:null,“do-db”:null,“ignore-table”:null,“ignore-db”:null,“rm-checkpoint”:false} 2019/12/18 10:57:47 loader.go:532: [info] [loader] prepare takes 0.000124 seconds 2019/12/18 10:57:47 loader.go:336: [error] [loader] scan dir[/home/data/temp] failed, err[invalid mydumper files for there are no -schema-create.sql files found] 2019/12/18 10:57:47 main.go:84: [fatal] /home/jenkins/agent/workspace/build_tidb_enterprise_tools_master/go/src/github.com/pingcap/tidb-enterprise-tools/loader/loader.go:433: invalid mydumper files for there are no -schema-create.sql files found /home/jenkins/agent/workspace/build_tidb_enterprise_tools_master/go/src/github.com/pingcap/tidb-enterprise-tools/loader/loader.go:337:

您好: 根据提示-schema-create.sql files found, 请检查dumper出的文件是否有xxx-schema-create.sql文件,这些是DDL语句,创建库,创建表等信息,如果是新的导入,没有DDL的信息,会报错.

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

– – Table structure for table infinixbbs_IMEI_log

DROP TABLE IF EXISTS infinixbbs_IMEI_log; /*!40101 SET @saved_cs_client = @@character_set_client /; /!40101 SET character_set_client = utf8 */; CREATE TABLE infinixbbs_IMEI_log ( id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘自增ID’, uid int(20) DEFAULT NULL COMMENT ‘用户id’, 这个是我查看的sql文件的前几行,是有ddl语句的

这个目录是/home/data/temp 当时dumper出来的目录,还是移动过来的? 看一下目录/home/data/temp 和 目录下的.sql文件是否权限不足,多谢

  1. ls -ld /home
    ls -ld /home/data
    ls -ld /home/data/temp
  2. cd /home/data/temp ls -lrt 反馈下这些信息

麻烦把这个文件名称mv一下,备份的后缀名删掉 mv db_infinix_club.sql.bak20191217 db_infinix_club.sql 再次尝试导入.

mv db_infinix_club.sql.bak20191217 db_infinix_club.sql,文件名称是有要求的,只把.sql后的bak20191217去掉,其他的保留

这个核实了,建议还是使用mydumper和loader来导出导入,适合tidb. 并且速度更快.

不会吧,非要用你那个导出工具生成的sql文件,才能用loader导入吗?那我早就抛出这个问题,你怎么没有回答,官网上也没有说一定要用mydumper导出啊

loader不能用来导入mysqldump的. 这个是我这边的问题,抱歉; 但是官网还是写的比较清楚的

说明了能读取mydumer的输出数据文件