热门标签 | 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端的数据

 

 



推荐阅读
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • This pull request introduces the ability to provide comprehensive paragraph configurations directly within the Create Note and Create Paragraph REST endpoints, reducing the need for additional configuration calls. ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 本文详细介绍了在XAMPP环境中如何修改Apache和MySQL的默认端口号,并确保WordPress能够正常访问。同时,提供了针对Go语言社区和Golang开发者的相关建议。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 本文介绍了如何在C#应用程序中有效隐藏SQLCMD命令行窗口,确保程序运行时不会弹出黑色命令提示符窗口。 ... [详细]
  • 哈密顿回路问题旨在寻找一个简单回路,该回路包含图中的每个顶点。本文将介绍如何判断给定的路径是否构成哈密顿回路。 ... [详细]
  • Windows 环境下重启 MySQL 服务的方法
    本文详细介绍了在 Windows 操作系统中如何正确地重启 MySQL 数据库服务,包括常见的权限问题及其解决方案。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 本文详细介绍了 iBatis.NET 中的 Iterate 元素,它用于遍历集合并重复生成每个项目的主体内容。通过该元素,可以实现类似于 foreach 的功能,尽管 iBatis.NET 并未直接提供 foreach 标签。 ... [详细]
  • 算法题解析:最短无序连续子数组
    本题探讨如何通过单调栈的方法,找到一个数组中最短的需要排序的连续子数组。通过正向和反向遍历,分别使用单调递增栈和单调递减栈来确定边界索引,从而定位出最小的无序子数组。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
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社区 版权所有