TranswarpArgoDB星环数据库部署
- [1 环境介绍](#1 环境介绍)
- [2 部署ArgoDB](#2 部署ArgoDB)
-
- [2.1 解压安装包](#2.1 解压安装包)
- [2.2 安装Transwarp Manager](#2.2 安装Transwarp Manager)
- [3 TDH-Community-Transwarp](#3 TDH-Community-Transwarp)
- [4 部署 ArgoDB](#4 部署 ArgoDB)
-
- [4.1 安装 TOS](#4.1 安装 TOS)
- [4.2 安装Guardian](#4.2 安装Guardian)
- [4.3 启动全局服务](#4.3 启动全局服务)
- [5 登录Kundb](#5 登录Kundb)
- [6 生成测试数据](#6 生成测试数据)
-
- [6.1 创建测试库](#6.1 创建测试库)
- [6.2 创建测试表](#6.2 创建测试表)
- [6.3 生成测试数据](#6.3 生成测试数据)
1 环境介绍
- Cpu x86
- Os Centos7
- TDH-Platform-Transwarp-9.4.0.0-X86_64-final
- 星环科技官网 - - 点击跳转
| 目录 | IP | 主机名 |
|---|---|---|
| /data | 192.168.100.199 | db01 |
| /data | 192.168.100.200 | db02 |
| /data | 192.168.100.201 | db03 |
- 单独配置目录 /var/lib/docker 大于100GB

2 部署ArgoDB
2.1 解压安装包
bash
##199设置主机名
hostnamectl set-hostname db01
##200设置主机名
hostnamectl set-hostname db02
##201设置主机名
hostnamectl set-hostname db03
## 解压安装包
tar -zxvf TDH-Platform-Transwarp-9.4.0.0-X86_64-final.tar.gz -C /data


2.2 安装Transwarp Manager
bash
## 配置yum 源地址
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
## 进入安装目录
cd /data/transwarp-9.4.0.0-X86_64-final/
./install
## 启动完成后,可以web 访问Transwarp Manager
ip:8179
## 安装过程中请勿键入 Ctrl+C 终止该脚本。
## 如果安装过程中意外终止,需重新执行 ./install。








3 TDH-Community-Transwarp
- 登录Transwarp Data Hub
bash
##访问地址
https://ip:8180
用户名、密码
admin、admin







- 支持范围搜索:如 172.16.1.[1-15]
- 多个ip 如 172.16.1.1,192.16.16








- 添加服务安装包- 点击取消

添加补丁


4 部署 ArgoDB
- 全局服务里面TOS、Guardian、Kundb 都要先启动
4.1 安装 TOS










4.2 安装Guardian











4.3 启动全局服务







5 登录Kundb
bash
# 查看端口
cat /etc/global-kundb/conf/kundb-env.sh |grep MYSQL_SERVER_PORT
export MYSQL_SERVER_PORT=15308
# 查看kundb的NAME
kubectl get pod -owide | grep kundb
# 进入manager
kubectl exec -it kundb-NAME替换 bash
mysql -h db01 -P 15308 -u vt_app -p
输入密码
transwarp

6 生成测试数据
6.1 创建测试库
sql
-- 创建数据库
CREATE DATABASE IF NOT EXISTS comprehensive_test_db;
USE comprehensive_test_db;
6.2 创建测试表
sql
-- 创建包含所有数据类型的表
CREATE TABLE comprehensive_data_types (
-- ==================== 1. 数值类型 ====================
-- 整数类型
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
tinyint_col TINYINT COMMENT 'TINYINT: -128~127',
tinyint_unsigned_col TINYINT UNSIGNED COMMENT 'TINYINT UNSIGNED: 0~255',
smallint_col SMALLINT COMMENT 'SMALLINT: -32768~32767',
smallint_unsigned_col SMALLINT UNSIGNED COMMENT 'SMALLINT UNSIGNED: 0~65535',
mediumint_col MEDIUMINT COMMENT 'MEDIUMINT: -8388608~8388607',
mediumint_unsigned_col MEDIUMINT UNSIGNED COMMENT 'MEDIUMINT UNSIGNED: 0~16777215',
int_col INT COMMENT 'INT: -2147483648~2147483647',
int_unsigned_col INT UNSIGNED COMMENT 'INT UNSIGNED: 0~4294967295',
bigint_col BIGINT COMMENT 'BIGINT: -9223372036854775808~9223372036854775807',
bigint_unsigned_col BIGINT UNSIGNED COMMENT 'BIGINT UNSIGNED: 0~18446744073709551615',
-- 浮点数类型
float_col FLOAT COMMENT 'FLOAT: 单精度浮点数',
float_precision_col FLOAT(10,2) COMMENT 'FLOAT(10,2): 指定精度',
double_col DOUBLE COMMENT 'DOUBLE: 双精度浮点数',
double_precision_col DOUBLE(15,4) COMMENT 'DOUBLE(15,4): 指定精度',
-- 定点数类型
decimal_col DECIMAL(10,2) COMMENT 'DECIMAL(10,2): 精确小数,金额常用',
decimal_large_col DECIMAL(20,6) COMMENT 'DECIMAL(20,6): 大精度小数',
-- 布尔类型(MySQL用TINYINT表示)
boolean_col TINYINT(1) COMMENT 'BOOLEAN: 0或1',
-- ==================== 2. 日期时间类型 ====================
date_col DATE COMMENT 'DATE: 日期,格式YYYY-MM-DD',
time_col TIME COMMENT 'TIME: 时间,格式HH:MM:SS',
time_precision_col TIME(3) COMMENT 'TIME(3): 带毫秒精度',
datetime_col DATETIME COMMENT 'DATETIME: 日期时间,格式YYYY-MM-DD HH:MM:SS',
datetime_precision_col DATETIME(6) COMMENT 'DATETIME(6): 带微秒精度',
timestamp_col TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'TIMESTAMP: 时间戳,自动更新',
timestamp_on_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'TIMESTAMP ON UPDATE: 更新时自动更新',
year_col YEAR COMMENT 'YEAR: 年份,格式YYYY',
-- ==================== 3. 字符串类型 ====================
-- 定长字符串
char_col CHAR(10) COMMENT 'CHAR(10): 定长字符串,最多10字符',
-- 变长字符串
varchar_col VARCHAR(255) COMMENT 'VARCHAR(255): 变长字符串,最多255字符',
varchar_large_col VARCHAR(2000) COMMENT 'VARCHAR(2000): 大变长字符串',
-- 文本类型
tinytext_col TINYTEXT COMMENT 'TINYTEXT: 最多255字节',
text_col TEXT COMMENT 'TEXT: 最多65535字节',
mediumtext_col MEDIUMTEXT COMMENT 'MEDIUMTEXT: 最多16777215字节',
longtext_col LONGTEXT COMMENT 'LONGTEXT: 最多4294967295字节',
-- 枚举和集合
enum_col ENUM('red', 'green', 'blue', 'yellow') COMMENT 'ENUM: 枚举类型,只能选其一',
set_col SET('music', 'movie', 'book', 'game') COMMENT 'SET: 集合类型,可以多选',
-- ==================== 4. 二进制类型 ====================
-- 二进制字符串
binary_col BINARY(16) COMMENT 'BINARY(16): 定长二进制',
varbinary_col VARBINARY(255) COMMENT 'VARBINARY(255): 变长二进制',
-- 二进制大对象
tinyblob_col TINYBLOB COMMENT 'TINYBLOB: 二进制小对象,最多255字节',
blob_col BLOB COMMENT 'BLOB: 二进制对象,最多65535字节',
mediumblob_col MEDIUMBLOB COMMENT 'MEDIUMBLOB: 二进制中对象,最多16777215字节',
longblob_col LONGBLOB COMMENT 'LONGBLOB: 二进制大对象,最多4294967295字节',
-- ==================== 5. JSON类型 ====================
json_col JSON COMMENT 'JSON: JSON数据类型',
-- ==================== 6. 空间类型(GIS) ====================
geometry_col GEOMETRY COMMENT 'GEOMETRY: 几何类型',
point_col POINT COMMENT 'POINT: 点',
linestring_col LINESTRING COMMENT 'LINESTRING: 线',
polygon_col POLYGON COMMENT 'POLYGON: 多边形',
multipoint_col MULTIPOINT COMMENT 'MULTIPOINT: 多点',
multilinestring_col MULTILINESTRING COMMENT 'MULTILINESTRING: 多线',
multipolygon_col MULTIPOLYGON COMMENT 'MULTIPOLYGON: 多多边形',
geometrycollection_col GEOMETRYCOLLECTION COMMENT 'GEOMETRYCOLLECTION: 几何集合',
-- ==================== 7. 其他特殊类型 ====================
-- 生成列(虚拟列)
generated_virtual_col INT AS (int_col * 2) VIRTUAL COMMENT '生成列(虚拟): int_col * 2',
generated_stored_col INT AS (int_col * 3) STORED COMMENT '生成列(存储): int_col * 3',
-- 默认值和注释
default_string_col VARCHAR(50) DEFAULT 'default_value' COMMENT '默认值字符串',
nullable_col VARCHAR(50) NULL COMMENT '可为空的列',
not_null_col VARCHAR(50) NOT NULL DEFAULT 'required' COMMENT '非空列',
-- 索引和约束相关
unique_col VARCHAR(50) UNIQUE COMMENT '唯一约束列',
-- 时间戳自动记录
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='包含所有MySQL 8.0数据类型的综合测试表';
-- 查看表结构
DESC comprehensive_data_types;
SHOW CREATE TABLE comprehensive_data_types;
6.3 生成测试数据
sql
插入100行测试数据
-- 使用 INSERT ... SELECT 插入数据
INSERT INTO comprehensive_data_types (
tinyint_col, tinyint_unsigned_col,
smallint_col, smallint_unsigned_col,
mediumint_col, mediumint_unsigned_col,
int_col, int_unsigned_col,
bigint_col, bigint_unsigned_col,
float_col, float_precision_col,
double_col, double_precision_col,
decimal_col, decimal_large_col,
boolean_col,
date_col, time_col,
datetime_col,
year_col,
char_col, varchar_col,
tinytext_col, text_col,
enum_col, set_col,
binary_col, varbinary_col,
tinyblob_col, blob_col,
json_col,
point_col,
default_string_col, nullable_col, not_null_col, unique_col
)
SELECT
IF(MOD(n,2)=0, -n, n) AS tinyint_col,
n AS tinyint_unsigned_col,
IF(MOD(n,2)=0, -n*10, n*10) AS smallint_col,
n*10 AS smallint_unsigned_col,
IF(MOD(n,2)=0, -n*100, n*100) AS mediumint_col,
n*100 AS mediumint_unsigned_col,
IF(MOD(n,2)=0, -n*1000, n*1000) AS int_col,
n*1000 AS int_unsigned_col,
IF(MOD(n,2)=0, -n*1000000, n*1000000) AS bigint_col,
n*1000000 AS bigint_unsigned_col,
n * 1.5 AS float_col,
n * 2.5 AS float_precision_col,
n * 3.14159 AS double_col,
n * 2.71828 AS double_precision_col,
n * 100.50 AS decimal_col,
n * 1000.123456 AS decimal_large_col,
IF(MOD(n,2)=0, 1, 0) AS boolean_col,
DATE_ADD('2024-01-01', INTERVAL n DAY) AS date_col,
SEC_TO_TIME(MOD(n * 3600, 86400)) AS time_col,
TIMESTAMPADD(DAY, n, '2024-01-01 10:00:00') AS datetime_col,
YEAR(DATE_ADD('2024-01-01', INTERVAL n MONTH)) AS year_col,
LEFT(CONCAT('CHAR', n), 10) AS char_col,
CONCAT('VARCHAR_', n) AS varchar_col,
CONCAT('TinyText_', n) AS tinytext_col,
CONCAT('TextData_', n) AS text_col,
ELT(MOD(n,4)+1, 'red', 'green', 'blue', 'yellow') AS enum_col,
IF(MOD(n,2)=0, 'music,movie', 'book,game') AS set_col,
UNHEX(LPAD(HEX(n), 32, '0')) AS binary_col,
UNHEX(LPAD(HEX(n), 6, '0')) AS varbinary_col,
UNHEX('DEADBEEF') AS tinyblob_col,
UNHEX(LPAD(HEX(n), 16, '0')) AS blob_col,
JSON_OBJECT('id', n, 'name', CONCAT('Item_', n)) AS json_col,
POINT(n, n * 2) AS point_col,
CONCAT('Default_', n) AS default_string_col,
IF(MOD(n,3)=0, NULL, CONCAT('Nullable_', n)) AS nullable_col,
CONCAT('NotNull_', n) AS not_null_col,
CONCAT('Unique_', LPAD(n, 5, '0')) AS unique_col
FROM (
SELECT a.N + b.N * 10 + 1 AS n
FROM
(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a,
(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b
ORDER BY n
LIMIT 100
) numbers;
-- 验证数据
SELECT COUNT(*) AS total_rows FROM comprehensive_data_types;
SELECT * FROM comprehensive_data_types LIMIT 5;