OceanBase4.1.0 社区版导入CSV文件测试

目录

一、安装jdk

1.1 查看jdk当前目录并删除java目录

1.2 查看jdk相关安装组件

1.3 卸载系统自带openjdk

1.4 解压并安装jdk

1.5 配置环境变量

1.6 激活环境变量并验证安装结果

二、OB创建用于导入导出的用户

三、Ob导入导出工具

3.1解压obloaderdumper

3.2添加环境变量

3.3查看帮助文档

四、创建测试表、测试数据测试导入

4.1创建测试表

4.2制作csv数据

4.3上传csv

五、导入csv文件

六、验证结果

七、汉字数据导入测试

7.1创建测试表

7.2导入数据

7.3查看OB字符集 

7.4将csv文件的编码通过txt修改为utf8

 

7.5修改编码后重新导入

总结


一、安装jdk

oceanbase提供了obloaderdumper工具用于数据的导入导出,在安装该工具前按照官方文档要求需要安装 oraclejdk1.8,不建议使用openjdk的版本。

1.1 查看jdk当前目录并删除java目录

which java

/usr/bin/java

rm -rf /usr/bin/java

1.2 查看jdk相关安装组件

rpm -qa |grep java

 

1.3 卸载系统自带openjdk

rpm -qa | grep java | xargs rpm -e --nodeps

rpm -qa |grep java

1.4 解压并安装jdk

tar -zxvf jdk-8u202-linux-x64.tar.gz

mv jdk1.8.0_202 /usr/bin/java

ls -ll /usr/bin/java

 

1.5 配置环境变量

root、admin用户添加的内容一致

[root@ob_test1 ~]# vi ~/.bash_profile

[root@ob_test1 ~]# . ~/.bash_profile

export JAVA_HOME=/usr/bin/java

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

[root@ob_test1 ~]# su - admin

Last login: Sat May 27 00:32:01 CST 2023 on pts/0

[admin@ob_test1 ~]$ vi .bash_profile

[admin@ob_test1 ~]$ . .bash_profile

 

1.6 激活环境变量并验证安装结果

[admin@ob_test1 ~]$ java -version

java version "1.8.0_202"

Java(TM) SE Runtime Environment (build 1.8.0_202-b08)

Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

 

二、OB创建用于导入导出的用户

obclient [oceanbase]> create user user1@'%' identified by 'user1' ;                                                                                                                        Query OK, 0 rows affected (0.020 sec)

obclient [oceanbase]> grant all privileges on *.* to user1@'%';

Query OK, 0 rows affected (0.014 sec)

三、Ob导入导出工具

3.1解压obloaderdumper

[admin@ob_test1 ~]$ unzip ob-loader-dumper-4.2.1-RELEASE.zip

[admin@ob_test1 ~]$ cd ob-loader-dumper-4.2.1-RELEASE/

[admin@ob_test1 ob-loader-dumper-4.2.1-RELEASE]$ ls

bin  conf  docs  lib  LICENSE  NOTICE  tools

3.2添加环境变量

[admin@ob_test1 ~]$ cat .bash_profile

export OB_LOAD_DUMP_HOME=/home/admin/ob-loader-dumper-4.2.1-RELEASE

export PATH=$OB_LOAD_DUMP_HOME/bin:$PATH

3.3查看帮助文档

[admin@ob_test1 ~]$ obdumper --help

Examples:

        e.g: ./obdumper -h 192.168.0.0 -P 2883 -u xxx -t tenantA -c ClusterA -p xxx --sys-password xxxx -D USERA --ddl --all -f /Users/admin/DUMP-1/

        e.g: ./obdumper -h 192.168.0.0 -P 2883 -u xxx -t tenantA -c ClusterA -p xxx --sys-password xxxx -D USERA --csv --all -f /Users/admin/DUMP-1/

四、创建测试表、测试数据测试导入

4.1创建测试表

[admin@ob_test1 ~]$ obclient -h127.0.0.1 -P2881 -uuser1 -p'user1' -Dtest -A

obclient [test]> CREATE TABLE t_goods_category(

    ->     id INT PRIMARY KEY AUTO_INCREMENT,

    ->     t_category VARCHAR(30),

    ->     t_remark VARCHAR(100)

    ->     )ENGINE=InnoDB;

Query OK, 0 rows affected, 1 warning (0.049 sec)

obclient [test]> select * from t_goods_category;

Empty set (0.010 sec)

4.2制作csv数据

4.3上传csv

 

五、导入csv文件

[admin@ob_test1 ~]$ cat test.csv

id ,t_category,t_remark

1,jann,10011d1d1

2,Occc,5877d1d1d

3,Adada,5511dada1

4,dCdff,6622csda

5,dad1,2888fdfa

6,faf1,2254vdsgs

7,ghhsh,225dfsfa

8,ddd1,366dadada

9,jgfjf,h55hdfhdh

10,fgsgs,555gdgdg

[admin@ob_test1 ~]$ obloader -h127.0.0.1 -P2881 -uuser1 -puser1  -Dtest --table t_goods_category --csv  -f /home/admin/test.csv --external-data

 

六、验证结果

6.1对比数据

[admin@ob_test1 ~]$ obclient -h127.0.0.1 -P2881 -uuser1 -p'user1' -Dtest -A

obclient [test]> select * from t_goods_category;

除表头没有导入成功外均导入成功,测试结果正常。

七、汉字数据导入测试

7.1创建测试表

obclient [test]> CREATE TABLE t_address(

    ->     addr_id INT PRIMARY KEY AUTO_INCREMENT,

    ->     name VARCHAR(50),

    ->    address VARCHAR(100)

    ->     )ENGINE=InnoDB;

Query OK, 0 rows affected, 1 warning (0.026 sec)

7.2导入数据

[admin@ob_test1 ~]$ obloader -h127.0.0.1 -P2881 -uuser1 -puser1  -Dtest --table t_address --csv  -f /home/admin/test1.csv --external-data

原文件:

 

对比数据发现汉字导入后出现乱码,应该是由于字符集的问题导致的。

7.3查看OB字符集 

obclient [test]> SHOW VARIABLES LIKE 'character%';

+--------------------------+---------+

| Variable_name            | Value   |

+--------------------------+---------+

| character_set_client     | utf8mb4 |

| character_set_connection | utf8mb4 |

| character_set_database   | utf8mb4 |

| character_set_filesystem | binary  |

| character_set_results    | utf8mb4 |

| character_set_server     | utf8mb4 |

| character_set_system     | utf8mb4 |

可以看到数据库当前的字符集是utf8

7.4将csv文件的编码通过txt修改为utf8

 

7.5修改编码后重新导入

obclient [test]> truncate table t_address;

Query OK, 0 rows affected (0.314 sec)

obclient [test]> select * from  t_address;

Empty set (0.004 sec)

[admin@ob_test1 ~]$ obloader -h127.0.0.1 -P2881 -uuser1 -puser1  -Dtest --table t_address --csv  -f /home/admin/test1.csv --external-data

总结

      中文字符显示正常包括繁体字、简体字等。在对中文字符的数据导入时需要注意文件本身的字符集问题或者导出文件源端数据库的字符集。

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森森淼淼丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值