目录

表结构导出工具gcdump

数据导出

数据导入


表结构导出工具gcdump

-A, --all-databases 导出所有用户数据库结构
-u, --user=name 连接数据库的数据库用户名
-p, --password[=name] 连接数据库的用户密码
-P, --port=# 连接数据库的端口
-B, --databases 导出指定的数据库结构
-f, --force 导出过程中忽略 sql 错误
--ignore-table=database.table 指定不要转储的表,该参数每次只能指定一个表,如果需要忽略多个表,使用多个参数指定。
-n, --no-create-db 不输出建库语句'CREATE DATABASE IF NOT EXISTS db_name;' 语句
-t, --no-create-info 不输出建表语句
-q, --quick 导出结果不缓存,直接输出
-Q, --quote-names 输出的表名和列名带引用符号(`)
-r, --result-file=name 导出结果输出到指定的文件中
-R, --routines 导出存储过程和函数
-W, --fixed-vc-name=name 指定导出的 VC 名字,一次只能导出一个 VC 的数据库对象,如果不指定该参数,该参数默认为 default vc 
-X, --xml 导出文件格式为 xml
-I, --colId 导出表结构含 TID 和 UID,同 show full create table

[gbase@hw-01 ~]$ cd /opt/gbase/192.168.0.213/gcluster/server/bin/
[gbase@hw-01 bin]$ ./gcdump -ugbase -pgbase2011 -B test > /home/gbase/test_db.sql
[gbase@hw-01 bin]$ cat /home/gbase/test_db.sql 
DROP DATABASE IF EXISTS `test`;CREATE DATABASE  IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8;USE `test`;--
-- Dumping events for database 'test'
--
/*! DROP EVENT IF EXISTS `import_audit_log` */;
DELIMITER ;;
/*! CREATE EVENT `import_audit_log` ON SCHEDULE EVERY 60 MINUTE STARTS '2023-01-05 21:12:48' ON COMPLETION NOT PRESERVE ENABLE LOCAL DO begindeclare errno int;declare msg text;declare exit handler for sqlexceptionbeginget diagnostics condition 1 errno = gbase_errno, msg = message_text;create table if not exists import_audit_log_errors(err_time datetime,hostname varchar(64),err_no int,msg_txt varchar(1024)) CHARSET=utf8mb4;insert into import_audit_log_errors values (now(), @@hostname, errno, substr(msg, 0, 1024));end;create table if not exists audit_log_express (hostname varchar(64),thread_id int,taskid bigint,start_time datetime,uid bigint, user varchar(16),host_ip varchar(32),query_time time, rows bigint,table_list varchar(4096),sql_text varchar(8191),ql_type varchar(16),sql_command varchar(32),operators varchar(256),status varchar(16),conn_type varchar(16)) CHARSET=utf8mb4;set self sql_mode = '';create self table gbase.audit_log_bak2 like gbase.audit_log;set self sql_mode = default;rename self table gbase.audit_log to gbase.audit_log_bak1,   -- 这里不知道为什么 rename之后 数据没有进去,所以在后面又insert了一次gbase.audit_log_bak2 to gbase.audit_log;repair table gbase.audit_log;insert into gbase.audit_log_bak1 select * from gbase.audit_log;set _gbase_query_path = on;insert into audit_log_express select@@hostname as hostname,thread_id,taskid,start_time,uid,user,host_ip,query_time,rows,substr(table_list, 0, 4096),substr(sql_text, 0, 8191),sql_type,sql_command,operators,status,conn_typefrom gbase.audit_log_bak1;drop self table gbase.audit_log_bak1;
end */ ;;
DELIMITER ;
/*! SET TIME_ZONE= @save_time_zone */ ;USE `test`;
DROP TABLE IF EXISTS `audit_log_express`;
CREATE TABLE `audit_log_express` (`hostname` varchar(64) DEFAULT NULL,`thread_id` int(11) DEFAULT NULL,`taskid` bigint(20) DEFAULT NULL,`start_time` datetime DEFAULT NULL,`uid` bigint(20) DEFAULT NULL,`user` varchar(16) DEFAULT NULL,`host_ip` varchar(32) DEFAULT NULL,`query_time` time DEFAULT NULL,`rows` bigint(20) DEFAULT NULL,`table_list` varchar(4096) DEFAULT NULL,`sql_text` varchar(8191) DEFAULT NULL,`ql_type` varchar(16) DEFAULT NULL,`sql_command` varchar(32) DEFAULT NULL,`operators` varchar(256) DEFAULT NULL,`status` varchar(16) DEFAULT NULL,`conn_type` varchar(16) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8mb4 TABLESPACE='sys_tablespace';
DROP TABLE IF EXISTS `import_audit_log_errors`;
CREATE TABLE `import_audit_log_errors` (`err_time` datetime DEFAULT NULL,`hostname` varchar(64) DEFAULT NULL,`err_no` int(11) DEFAULT NULL,`msg_txt` varchar(1024) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8mb4 TABLESPACE='sys_tablespace';
DROP TABLE IF EXISTS `outtable`;
CREATE TABLE `outtable` (`no` int(11) DEFAULT NULL,`text` varchar(10) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace';
DROP TABLE IF EXISTS `t2`;
CREATE TABLE `t2` (`no` int(11) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace';
DROP TABLE IF EXISTS `t5`;
CREATE TABLE `t5` (`no` int(11) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace';

数据导出

select * from test.outtable into outfile '/home/gbase/outtable.GZ' FIELDS TERMINATED BY '|'  FIELDS ESCAPED BY '\\'   optionally DOUBLE_ENCLOSED BY '\''   WRITEMODE BY overwrites;--如果在导出后 发现数据中包含转译符号\ 那么需要将转译符号置空 否则导入的数据会多一个\
select * from test.t1 into outfile '/home/gbase/t1.data4' FIELDS TERMINATED BY '|'  FIELDS ESCAPED BY ''

outfile '/home/gbase/outtable.GZ'        以gzip方式压缩

FIELDS TERMINATED BY '|'               分割符为 |

FIELDS ESCAPED BY '\\'                    转译符为 \

optionally DOUBLE_ENCLOSED BY '\''     包围符为 ' 只对字符串类型起作用

WRITEMODE BY overwrites                导出文件覆盖已有文件

gbase> create table outtable(no int,text varchar(10));
gbase> insert into test.outtable(no,text) values(1,'a''b'),(2,'a\\b'),(3,'a''\\b');
gbase> select * from outtable;
+------+------+
| no   | text |
+------+------+
|    1 | a'b  |
|    2 | a\b  |
|    3 | a'\b |
+------+------+
gbase> select * from test.outtable into outfile '/home/gbase/outtable.GZ' FIELDS TERMINATED BY '|'  FIELDS ESCAPED BY '\\'   optionally DOUBLE_ENCLOSED BY '\''   WRITEMODE BY overwrites;
gbase> select * from test.outtable into outfile '/home/gbase/outtable.data' FIELDS TERMINATED BY '|'  FIELDS ESCAPED BY '\\'   optionally DOUBLE_ENCLOSED BY '\''   WRITEMODE BY overwrites;
[gbase@hw-01 home]$ cd /home/gbase/outtable.data/
[gbase@hw-01 outtable.data]$ ll
-rw------- 1 gbase gbase 29 Jan 18 11:06 outtable.data
[gbase@hw-01 outtable.data]$ cat outtable.data
1|'a\'b'
2|'a\\b'
3|'a\'\\b'[gbase@hw-01 home]$ cd /home/gbase/outtable.GZ/
[gbase@hw-01 outtable.GZ]$ ll
-rw------- 1 gbase gbase 39 Jan 18 11:05 outtable.GZ

数据导入

如果有原始数据,记得先备份一下

备份表结构
[gbase@bogon ~]$ gcdump -ugbase -pgbase2011 -B test > /home/gbase/test_db_ddl.bak
备份数据
gbase> select * from test.audit_log_expressinto outfile '/home/gbase/audit_log_express.data' FIELDS TERMINATED BY '|'  FIELDS ESCAPED BY '\\'   optionally DOUBLE_ENCLOSED BY '\''   WRITEMODE BY overwrites;

导入表结构

#这些是数据导出时的数据  不是备份的数据
[gbase@bogon ~]$ cd /home/gbase/
[gbase@bogon ~]$ ll
total 8
-rw-r--r-- 1 gbase gbase   29 Jan 17 22:06 outtable.data
-rw-r--r-- 1 gbase gbase 3546 Jan 17 21:52 test_db.sql
gbase> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
| gbase              |
| gctmpdb            |
| gclusterdb         |
+--------------------+
gbase> \q[gbase@bogon ~]$ gccli -ugbase -pgbase2011 < /home/gbase/test_db.sql
[gbase@bogon ~]$ gccli -uroot -pgbase> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
| gbase              |
| gctmpdb            |
| gclusterdb         |
| test               |
+--------------------+gbase> use test;
gbase> show tables;
+-------------------------+
| Tables_in_test          |
+-------------------------+
| audit_log_express       |
| import_audit_log_errors |
| outtable                |
| t2                      |
| t5                      |
+-------------------------+

导入数据

gbase> use test;
gbase> select * from outtable;
Empty set (Elapsed: 00:00:00.00)gbase> LOAD DATA INFILE 'file://192.168.61.173/home/gbase/outtable.data' INTO TABLE test.outtable data_format 3 fields terminated by '|';gbase> select * from outtable;
+------+----------+
| no   | text     |
+------+----------+
|    2 | 'a\\b'   |
|    1 | 'a\'b'   |
|    3 | 'a\'\\b' |
+------+----------+
LOAD DATA INFILE 'file://192.168.61.173/home/gbase/outtable.GZ' INTO TABLE test.outtable data_format 3 fields terminated by '|' enclosed by '\'';trace 1 trace_path '/home/gbase/loader_logs' FILE_FORMAT GZIP;

GBase 8a 数据导入导出相关推荐

  1. hive数据导入导出

    Hive数据导入导出的几种方式 一,Hive数据导入的几种方式 首先列出讲述下面几种导入方式的数据和hive表. 导入: 本地文件导入到Hive表: Hive表导入到Hive表; HDFS文件导入到H ...

  2. [转载]在SQL Server数据库之间进行数据导入导出,OPENDATASOURCE

    需要在c盘下先建立一个data.txt文件,然后在文件的第一行写上你要导出的列,不如说要导出id和name这两列,就在第一行写上 id,name 然后保存,使用下列SQL就可以了,你如果要保持原有的I ...

  3. (转)资料收集,新手必备的sql数据导入导出知识

    转载自csdn SQL SERVER 与ACCESS.EXCEL的数据转换 熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact ...

  4. DB2数据导入导出的小结

    Db2的数据迁移,最常用的就是导入导出功能,而导入导出的命令貌似简单,实则内含玄机千变万化,这儿就工作中常用到的命令,小结了一下. 一.数据导入导出基础的格式知识 DEL:界定的ASCII文件,行分隔 ...

  5. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明:  1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL  2.如果熟悉命令,建议用exp/i ...

  6. 使用Transact-SQL进行数据导入导出方法详解

    本文为原创,如需转载,请注明作者和出处,谢谢! 本文曾发表于IT168:http://tech.it168.com/db/s/2006-08-16/200608160913336_1.shtml    ...

  7. Oracle数据导入导出imp/exp

    功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份.   大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失).  Oracle有个好处,虽然 ...

  8. linux中mongo的导出数据,Linux下mongodb安装及数据导入导出教程(示例代码)

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  9. 利用sqoop将hive数据导入导出数据到mysql

    http://niuzhenxin.iteye.com/blog/1726414 运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司 ...

最新文章

  1. VTK:参数样条用法实战
  2. 使用BlazeDS实现Java和Flex通信之hello world
  3. codeforces 271A-C语言解题报告
  4. 卖完砖头的Supreme要卖手机了 这种手机就不要讨论配置了吧...
  5. poj 3735 Training little cats (矩阵快速幂)
  6. Github全封41万俄罗斯开发者账号,开源真的无国界
  7. FlinkKafkaProducer源码分析
  8. 10G家庭光纤网络如何部署?
  9. 1477: 多重继承派生(1)--家具、床、沙发和沙发床
  10. 国产化飞腾CPU主板安装统信专业版桌面OS,以及统信OS如何进root用户
  11. Could not load the Qt platform plugin “xcb“ 问题解决
  12. python安装osgeo及shapefile库、is not a supported wheel on this platform 的问题
  13. catia如何画花键_CATIA花键绘制万向节的装配及螺纹绘制
  14. 5G/NR PDSCH之频域资源分配
  15. 动态规划算法初步(6)——0/1 背包
  16. SpringCloud读取Nacos配置中心报错:Could not resolve placeholder ‘xxx’ in value ‘${xxx}
  17. 从零开始构建PHP版mud游戏(一)
  18. vue(emit)、node(promise、 promise封装文件读取)
  19. HaaS100开发调试系列 之 使用AliOS Things诊断调试组件定位Bug
  20. 利用microPython驱动TM1638芯片

热门文章

  1. Java判断Excel中,空单元格和空行
  2. 计算机网络 组网设计 论文,网络设计论文范文
  3. 1813 方块游戏(枚举)
  4. 读书笔记:软件工程(8) - 软件过程模型:喷泉模型、其他模型
  5. 02.各类存储器芯片和内存地址空间
  6. 键盘口扫码枪在web页面的应用
  7. 偏导,方向导数以及梯度的理解
  8. JPA(Java Persistence API )
  9. XGB+LR/FM模型设计与实现
  10. 大学四年,强烈推荐第一个画图工具