热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oceanabse数据迁移

 Tpcc安装https:code.launchpad.net~percona-devperconatoolstpcc-mysql目前已经移到到github上了https:gith

 

Tpcc安装

https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql

目前已经移到到github上了

https://github.com/Percona-Lab/tpcc-mysql

https://github.com/Percona-Lab/tpcc-mysql.git

从guthub下载下来名为tpcc-mysql-master.zip。直接上传至服务器进行安装

# unzip ./tpcc-mysql-master.zip

# cd tpcc-mysql-master/

# cd src

# make

 

上级目录可以看到tpcc_load和tpcc_start两个脚本,tpcc_load用于初始化数据,tpcc_start用于基准测试。可以读取README.md的内容使用步骤信息。

初始化创建压测数据

登录数据库中创建通过tpcc测试的数据库

(root@localhost)[(none)]> create database tpcc1000;

Query OK, 1 row affected (0.00 sec)

(root@localhost)[(none)]> create user 'tpcc'@'localhost' identified by 'tpcc';

Query OK, 0 rows affected (0.00 sec)

(root@localhost)[(none)]> grant all privileges on tpcc1000.* to 'tpcc'@'localhost';

Query OK, 0 rows affected (0.00 sec)

数据库创建好之后,向里面导入对应的创建表及索引等脚本。

[root@db tpcc-mysql-master]# mysql  -h localhost -utpcc -ptpcc -D tpcc1000 

mysql: [Warning] Using a password on the command line interface can be insecure.

[root@db tpcc-mysql-master]#

[root@db tpcc-mysql-master]# mysql  -h localhost -utpcc -ptpcc -D tpcc1000 

mysql: [Warning] Using a password on the command line interface can be insecure.

将基本的表结构及索引等约束信息导入到测试库之后,再通过tpcc_load生成数据。

tpcc_load用法

tpcc_load [server] [DB] [user] [pass] [warehouse]

或者

tpcc_load [server] [DB] [user] [pass] [warehouse] [part] [min_wh] [max_wh]

选项 warehouse 意为指定测试库下的仓库数量。

 

查询tpcc加载的数据库及表信息。

 

 

将customer导出表结构及表数据或者使用--tab参数直接导出表结构及表数据

[root@db ~]# mysqldump -uroot -p123 -d tpcc1000 item > item_tab.sql

mysqldump: [Warning] Using a password on the command line interface can be insecure.

[root@db ~]# mysqldump -uroot -p123 -t tpcc1000 item > item_tab_data.sql

mysqldump: [Warning] Using a password on the command line interface can be insecure..

 

OB新建租户

在oceanasbe新建mysql租户

 

MySQL [oceanbase]> alter resource unit sys_unit_config min_cpu=4;                                             

Query OK, 0 rows affected (0.008 sec)

MySQL [oceanbase]> CREATE resource unit S4C1G max_cpu=4, min_cpu=4, max_memory='1G', min_memory='1G',

    -> max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='1024G';

Query OK, 0 rows affected (0.007 sec)

MySQL [oceanbase]> CREATE resource pool my_pool unit = 'S4C1G', unit_num = 1;

Query OK, 0 rows affected (0.013 sec)

MySQL [oceanbase]> create tenant obmysql resource_pool_list=('my_pool'), primary_zOne='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%', ob_compatibility_mode='mysql';

Query OK, 0 rows affected (1.595 sec)

使用普通租户连接并创建业务用户

[admin@69d3f6987ff3 ~]$ obclient -h 127.1 -uroot@obmysql#obce-single -P2883 -p -c -A test

MySQL [test]> create user user1 identified by 'user1';

Query OK, 0 rows affected (0.049 sec)

MySQL [test]> GRANT ALL PRIVILEGES ON *.* TO user1@'%';

Query OK, 0 rows affected (0.021 sec)

通过普通用户登录之后,导入表结构及表数据。

[root@db ~]# mysql  -uuser1@obmysql#obce-single -h172.17.0.2  -P2883 -p  test

mysql> source item_tab.sql;

mysql> source item_tab_data.sql;

mysql> select count(*) from item;

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

| count(*) |

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

|   100000 |

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

1 row in set (0.08 sec)

 

DATAX安装及使用

-- 大小:820MB

wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

tar -zvxf datax.tar.gz

# 删除datax中的隐藏文件

find /opt/datax/plugin -name ".*" | xargs rm -f

-- 生成模板文件

python2 /opt/datax/bin/datax.py -r mysqlreader -w oceanbasev10writer > /opt/datax/job/my2ob.json

# 根据实际环境修改

vi /opt/datax/job/my2ob.json

下表信息为需要数据同步的表信息。

 

配置json参数文件的参数内容

[root@db job]# cat my2ob.json

{

    "job": {

        "content": [

            {

                "reader": {

                    "name": "mysqlreader",

                    "parameter": {

                        "column": ["*"],

                        "connection": [

                            {

                                "jdbcUrl": ["jdbc:mysql://10.10.10.198:3306/test"],

                                "table": ["userInfo"]

                            }

                        ],

                        "password": "123",

                        "username": "root"

                    }

                },

                "writer": {

                    "name": "oceanbasev10writer",

                    "parameter": {

                        "column": ["*"],

                        "connection": [

                            {

                                "jdbcUrl": "||_dsc_ob10_dsc_||obce-single:obmysql||_dsc_ob10_dsc_||jdbc:oceanbase://172.17.0.2:2883/test?useUnicode=true&characterEncoding=utf-8",

                                "table": ["userInfo"]

                            }

                        ],

                        "obWriteMode": "insert",

                        "password": "user1",

                        "username": "user1"

                    }

                }

            }

        ],

        "setting": {

            "speed": {

                "channel": 4

            }

        }

    }

}

执行datax同步任务

 

查询ob端的数据

 

 



推荐阅读
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • Java学习第10天:深入理解Map接口及其应用 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 手指触控|Android电容屏幕驱动调试指南
    手指触控|Android电容屏幕驱动调试指南 ... [详细]
  • 如何在系统设置中找到高级配置选项 ... [详细]
  • MySQL索引详解及其优化策略
    本文详细解析了MySQL索引的概念、数据结构及管理方法,并探讨了如何正确使用索引以提升查询性能。文章还深入讲解了联合索引与覆盖索引的应用场景,以及它们在优化数据库性能中的重要作用。此外,通过实例分析,进一步阐述了索引在高读写比系统中的必要性和优势。 ... [详细]
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
  • 如何高效地安装并配置 PostgreSQL 数据库系统?本文将详细介绍从下载到安装、配置环境变量、初始化数据库、以及优化性能的全过程,帮助读者快速掌握 PostgreSQL 的核心操作与最佳实践。文章还涵盖了常见问题的解决方案,确保用户在部署过程中能够顺利解决遇到的各种挑战。 ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
  • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
    无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • SQLite数据库CRUD操作实例分析与应用
    本文通过分析和实例演示了SQLite数据库中的CRUD(创建、读取、更新和删除)操作,详细介绍了如何在Java环境中使用Person实体类进行数据库操作。文章首先阐述了SQLite数据库的基本概念及其在移动应用开发中的重要性,然后通过具体的代码示例,逐步展示了如何实现对Person实体类的增删改查功能。此外,还讨论了常见错误及其解决方法,为开发者提供了实用的参考和指导。 ... [详细]
author-avatar
海淀区小张_703
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有