信创数据库选型|平凯数据库敏捷模式对标 MySQL 数据库试用体验
作者: awker 原文来源:https://tidb.net/blog/eec39a56
一、前言
1.1 行业介绍
从事 IT 集成及架构设计 15 载,感受到最近几年国产信创环境的替代需求,转向进军国产数据库领域。打算在此领域深耕,进行新的职场挑战。
目前一直服务于金融行业,熟悉金融行业各业务系统的架构。深知现有城商银行面临的信创转型机遇:客户必将在监管机构的要求下,来完成信创数据库的改造替代,这个目标已临近。
1.2 目前遇到的数据库挑战
如何完成从现有 ORACLE、DB2 数据库向国产信创数据库的迁移改造,将是客户面临的最终挑战。但在此之前,完成信创数据库的选型,将是首要任务。
目前遇到的主要难题有以下几点:1)信创数据库种类多,如何选型,谁成熟,谁稳定,谁服务跟的上?2)海量数据迁移问题 3)迁移后业务改造适配问题 4)并行双轨运行是否支持,回退是否安全可行 5)信创数据库性能问题、安全问题、稳定性问题
1.3 参加活动的原因
参加此次活动加深对 TiDB 数据库的理解,为客户的数据库选型提供解决方案。
1.4 敏捷模式的体验总结
敏捷模式通过 TEM 工具极大地简化了数据库的部署和运维复杂度。官方文档清晰易懂,使部署变得简单易用。
1.5 敏捷模式是否能应对该挑战
部署简单,管理易用,稳定性还需要时间及复杂业务场景验证。
二、TEM 快速部署安装
2.1 环境介绍
2.2 部署 TEM
1、解压安装包
# ls -1amd64.ziptem-amd64.tar
# tar xvf tem-amd64.tar
# cd tem-package-v3.1.0-linux-amd64/
mkdir -pv /tem/{run,data}
2、配置文件修改
修改 config.yaml 文件:
global: user: "tidb" group: "tidb" ssh_port: 22 deploy_dir: "/tem/run" data_dir: "/tem/data" arch: "amd64" log_level: "info" enable_tls: false # 是否开启TLS验证,开启后如果不配置证书密钥,则会生成自签证书和密钥
server_configs: # 这⾥指定 tem 节点的全局配置 tem_servers: # 填写 metadb 配置的套接字,若配置了多个元数据库的地址,应以逗号分隔且确保⽆空格 db_addresses: "127.0.0.1:4000" db_u: "root" # 若由 tem 辅助创建的元数据库,请使⽤ root ⽤户 db_pwd: "" # 若由 tem 辅助创建的元数据库,请使⽤空密码 db_name: "test" # 若由 tem 辅助创建的元数据库,请使⽤ test 数据库 log_filename: "/tem/run/tem-server-8080/log/tem.log" log_tem_level: "info" log_max_size: 300 log_max_days: 0 log_max_backups: 0 external_tls_cert: "" # tem 对外使用的tls证书 external_tls_key: "" # tem 对外使用的tls密钥 internal_tls_ca_cert: "" # tem 内部节点间双向验证使用的tls证书 internal_tls_cert: "" # tem 内部节点间双向验证使用的tls证书 internal_tls_key: "" # tem 内部节点间双向验证使用的tls证书
tem_servers: - host: "0.0.0.0" # 请填写 tem 节点的实际地址 port: 8080 mirror_repo: true # 是否开启镜像仓库,多个TEM节点时,有且仅有一个节点开启
3、安装部署
直接执行 sh install. sh 安装脚本:
# sh install.sh #### Please make sure that you have edited user ######## in config.yaml as you want, and don't ##### The user is 'tidb' by default, which will be ####### used as the owner to deploy TEM service. ######## If you have installed TEM before, make sure ######## that the user is consistent with the old one. ##### After install.sh is run, a config.yaml file ######## will be generated under /home/<user>/, and ######## please don't edit this file. ####Do you want to continue? [y/N] ystart installingCheck linux amd64##### install version v3.1.0 ########## metadb_topology.yaml exists, will install metadb ########## add user tidb started #####useradd: user 'tidb' already existsLast login: Sat Oct 11 15:08:32 CST 2025Generating public/private rsa key pair./home/tidb/.ssh/id_rsa already exists.Overwrite (y/n)? ##### ssh-keygen ~/.ssh/id_rsa ########## cat ~/.ssh/authorized_keys ########## user chmod .ssh finished ########## add user tidb finished ########## add PrivateKey /home/tidb/.ssh/id_rsa ########## add PublicKey /home/tidb/.ssh/id_rsa.pub ########## check depends tar started #####Last login: Sat Oct 11 15:22:29 CST 2025Dependency check check_ssh-copy-id proceeding.Dependency check check_ssh-copy-id end.Dependency check check_scp proceeding.Dependency check check_scp end.Dependency check check_ssh proceeding.Dependency check check_ssh end.##### check depends tar finished ########## check env started: before possible metadb installation #####assistant check {"level":"debug","msg":"ssh"}strategyName Check NetWorkStatus Start: 1760167349NetWorkStatus End : 1760167352Net Status , OKSSHCheck 0.0.0.0 authorized_keysid_rsaid_rsa.pub successTEM assistant check {"level":"debug","msg":"ssh"} strategyName Check NetWorkStatus Start: 1760167349 NetWorkStatus End : 1760167352 Net Status , OK SSHCheck 0.0.0.0 authorized_keys id_rsa id_rsa.pub success##### check env finished: before possible metadb installation ########## deploy_tiup started ########## prepare TiDB AND TEM TIUP_HOME started ########## mkdir /tem/run/.tiup finished ########## mkdir /tem/run/.tem finished ########## mkdir /tem/run/.tiup/bin finished ########## mkdir /tem/run/.tem/bin finished ########## mkdir /tem/data/tidb-repo finished ########## mkdir /tem/data/tem-repo finished ########## mkdir /tem/run/monitor finished ########## mkdir /home/tidb/.temmeta finished ########## mkdir /home/tidb/.temmeta/bin finished ########## mkdir /home/tidb/tidb-repo finished ########## prepare TiDB AND TEM TIUP_HOME finished ########## deploy_binary started ########## mkdir /tem/run/tem-package finished ########## mkdir /tem/run/tem-package/tem-toolkit-v3.1.0-linux-amd64 finished ########## mkdir /tem/run/tem-package/tidb-toolkit-v3.1.0-linux-amd64 finished ########## deploy_binary finished ########## install tiup binary to /tem/run/.tiup/bin /tem/run/.tem/bin started ########## install tiup binary to /tem/run/.tiup/bin /tem/run/.tem/bin finished ########## install TiUP to /usr/local/bin started ########## install TiUP to /usr/local/bin finished ########## init tem mirror /tem/data/tem-repo started ########## build_mirror started ########## build_mirror repo_dir /tem/data/tem-repo ########## build_mirror home_dir /tem/run/.tem ########## build_mirror tiup_bin /usr/local/bin/tiup ########## build_mirror toolkit_dir /tem/run/tem-package/tem-toolkit-v3.1.0-linux-amd64 ########## build_mirror deploy_user tidb #####Last login: Sat Oct 11 15:22:29 CST 2025././local_install.sh./tem-v3.1.0-linux-amd64.tar.gz./node-exporter-v1.2.2-linux-amd64.tar.gz./1.prometheus.json./1.alertmanager.json./grafana-v7.5.15-linux-amd64.tar.gz./1.grafana.json./keys/./keys/b7a47c72bf7ff51f-root.json./keys/8d862a21510f57fe-timestamp.json./keys/92686f28f94bcc9c-snapshot.json./keys/cd6238bf63753458-root.json./keys/d9da78461bae5fb8-root.json./keys/87cc8597ba186ab8-pingcap.json./keys/c181aeb3996f7bfe-index.json./root.json./1.tiup.json./1.tem-server.json./1.index.json./1.root.json./alertmanager-v0.23.0-linux-amd64.tar.gz./prometheus-v2.29.2-linux-amd64.tar.gz./tiup-v1.14.0-linux-amd64.tar.gz./tem-server-v3.1.0-linux-amd64.tar.gz./tiup-linux-amd64.tar.gz./snapshot.json./1.tem.json./timestamp.json./1.node-exporter.jsonSuccessfully set mirror to /tem/data/tem-repo##### init tem mirror /tem/data/tem-repo finished ########## init tidb mirror /tem/data/tidb-repo started ########## build_mirror started ########## build_mirror repo_dir /tem/data/tidb-repo ########## build_mirror home_dir /tem/run/.tiup ########## build_mirror tiup_bin /usr/local/bin/tiup ########## build_mirror toolkit_dir /tem/run/tem-package/tidb-toolkit-v3.1.0-linux-amd64 ########## build_mirror deploy_user tidb #####Last login: Sat Oct 11 15:22:34 CST 2025././local_install.sh./prometheuse-v6.5.0-linux-amd64.tar.gz./1.br-ee.json./alertmanager-v0.17.0-linux-amd64.tar.gz./1.alertmanager.json./br-v7.1.5-linux-amd64.tar.gz./1.cluster.json./br-v8.1.0-linux-amd64.tar.gz./1.tikv.json./br-v6.1.7-linux-amd64.tar.gz./keys/./keys/bd73fb49a9fe4c1f-root.json./keys/ccb014427c930f35-root.json./keys/0ef7038b19901f8d-root.json./keys/e80212bba0a0c5d7-timestamp.json./keys/cdc237d3f9580e59-index.json./keys/704b6a90d209834a-pingcap.json./keys/37ae6a6f7c3ae619-root.json./keys/42859495dc518ea9-snapshot.json./keys/6f1519e475e9ae65-root.json./keys/bfc5831da481f289-index.json./keys/4fa53899faebf9d9-root.json./keys/928bfc0ffaa29a53-timestamp.json./keys/7b99f462f7931ade-snapshot.json./keys/24f464d5e96770ca-pingcap.json./1.prometheuse.json./br-v6.5.10-linux-amd64.tar.gz./root.json./1.tidb.json./1.tiup.json./1.pd.json./1.index.json./1.root.json./tikv-v6.5.0-linux-amd64.tar.gz./pd-v6.5.0-linux-amd64.tar.gz./cluster-v1.14.0-linux-amd64.tar.gz./blackbox_exporter-v0.21.1-linux-amd64.tar.gz./5.br.json./br-v7.5.2-linux-amd64.tar.gz./tiup-v1.14.0-linux-amd64.tar.gz./1.node_exporter.json./1.insight.json./tiup-linux-amd64.tar.gz./insight-v0.4.2-linux-amd64.tar.gz./br-ee-v7.1.1-3-linux-amd64.tar.gz./snapshot.json./node_exporter-v1.3.1-linux-amd64.tar.gz./tidb-v6.5.0-linux-amd64.tar.gz./1.blackbox_exporter.json./timestamp.jsonSuccessfully set mirror to /tem/data/tidb-repo##### init tidb mirror /tem/data/tidb-repo finished ########## init temmeta mirror /home/tidb/tidb-repo started ########## build_mirror started ########## build_mirror repo_dir /home/tidb/tidb-repo ########## build_mirror home_dir /home/tidb/.temmeta ########## build_mirror tiup_bin /usr/local/bin/tiup ########## build_mirror toolkit_dir /tem/run/tem-package/tidb-toolkit-v3.1.0-linux-amd64 ########## build_mirror deploy_user tidb #####Last login: Sat Oct 11 15:22:37 CST 2025././local_install.sh./prometheuse-v6.5.0-linux-amd64.tar.gz./1.br-ee.json./alertmanager-v0.17.0-linux-amd64.tar.gz./1.alertmanager.json./br-v7.1.5-linux-amd64.tar.gz./1.cluster.json./br-v8.1.0-linux-amd64.tar.gz./1.tikv.json./br-v6.1.7-linux-amd64.tar.gz./keys/./keys/bd73fb49a9fe4c1f-root.json./keys/ccb014427c930f35-root.json./keys/0ef7038b19901f8d-root.json./keys/e80212bba0a0c5d7-timestamp.json./keys/cdc237d3f9580e59-index.json./keys/704b6a90d209834a-pingcap.json./keys/37ae6a6f7c3ae619-root.json./keys/42859495dc518ea9-snapshot.json./keys/6f1519e475e9ae65-root.json./keys/bfc5831da481f289-index.json./keys/4fa53899faebf9d9-root.json./keys/928bfc0ffaa29a53-timestamp.json./keys/7b99f462f7931ade-snapshot.json./keys/24f464d5e96770ca-pingcap.json./1.prometheuse.json./br-v6.5.10-linux-amd64.tar.gz./root.json./1.tidb.json./1.tiup.json./1.pd.json./1.index.json./1.root.json./tikv-v6.5.0-linux-amd64.tar.gz./pd-v6.5.0-linux-amd64.tar.gz./cluster-v1.14.0-linux-amd64.tar.gz./blackbox_exporter-v0.21.1-linux-amd64.tar.gz./5.br.json./br-v7.5.2-linux-amd64.tar.gz./tiup-v1.14.0-linux-amd64.tar.gz./1.node_exporter.json./1.insight.json./tiup-linux-amd64.tar.gz./insight-v0.4.2-linux-amd64.tar.gz./br-ee-v7.1.1-3-linux-amd64.tar.gz./snapshot.json./node_exporter-v1.3.1-linux-amd64.tar.gz./tidb-v6.5.0-linux-amd64.tar.gz./1.blackbox_exporter.json./timestamp.jsonSuccessfully set mirror to /home/tidb/tidb-repo##### init temmeta mirror /home/tidb/tidb-repo finished ########## deploy_tiup /tem/run/.tem finished ########## install metadb started #####Last login: Sat Oct 11 15:22:48 CST 2025The component `prometheus` not found (may be deleted from repository); skippedtiup is checking updates for component cluster ...A new version of cluster is available: The latest version: v1.14.0 Local installed version: Update current component: tiup update cluster Update all components: tiup update --all
The component `cluster` version is not installed; downloading from repository.Starting component `cluster`: /home/tidb/.temmeta/components/cluster/v1.14.0/tiup-cluster deploy tem_metadb v6.5.0 metadb_topology.yaml -u tidb -i /home/tidb/.ssh/id_rsa --yes
+ Detect CPU Arch Name - Detecting node 127.0.0.1 Arch info ... Done
+ Detect CPU OS Name - Detecting node 127.0.0.1 OS info ... Done+ Generate SSH keys ... Done+ Download TiDB components - Download pd:v6.5.0 (linux/amd64) ... Done - Download tikv:v6.5.0 (linux/amd64) ... Done - Download tidb:v6.5.0 (linux/amd64) ... Done - Download node_exporter: (linux/amd64) ... Done - Download blackbox_exporter: (linux/amd64) ... Done+ Initialize target host environments - Prepare 127.0.0.1:22 ... Done+ Deploy TiDB instance - Copy pd -> 127.0.0.1 ... Done - Copy tikv -> 127.0.0.1 ... Done - Copy tidb -> 127.0.0.1 ... Done - Deploy node_exporter -> 127.0.0.1 ... Done - Deploy blackbox_exporter -> 127.0.0.1 ... Done+ Copy certificate to remote host+ Init instance configs - Generate config pd -> 127.0.0.1:2379 ... Done - Generate config tikv -> 127.0.0.1:20160 ... Done - Generate config tidb -> 127.0.0.1:4000 ... Done+ Init monitor configs - Generate config node_exporter -> 127.0.0.1 ... Done - Generate config blackbox_exporter -> 127.0.0.1 ... DoneEnabling component pd Enabling instance 127.0.0.1:2379 Enable instance 127.0.0.1:2379 successEnabling component tikv Enabling instance 127.0.0.1:20160 Enable instance 127.0.0.1:20160 successEnabling component tidb Enabling instance 127.0.0.1:4000 Enable instance 127.0.0.1:4000 successEnabling component node_exporter Enabling instance 127.0.0.1 Enable 127.0.0.1 successEnabling component blackbox_exporter Enabling instance 127.0.0.1 Enable 127.0.0.1 successCluster `tem_metadb` deployed successfully, you can start it with command: `tiup cluster start tem_metadb --init`tiup is checking updates for component cluster ...Starting component `cluster`: /home/tidb/.temmeta/components/cluster/v1.14.0/tiup-cluster start tem_metadbStarting cluster tem_metadb...+ [ Serial ] - SSHKeySet: privateKey=/home/tidb/.temmeta/storage/cluster/clusters/tem_metadb/ssh/id_rsa, publicKey=/home/tidb/.temmeta/storage/cluster/clusters/tem_metadb/ssh/id_rsa.pub+ [Parallel] - UserSSH: user=tidb, host=127.0.0.1+ [Parallel] - UserSSH: user=tidb, host=127.0.0.1+ [Parallel] - UserSSH: user=tidb, host=127.0.0.1+ [ Serial ] - StartClusterStarting component pd Starting instance 127.0.0.1:2379 Start instance 127.0.0.1:2379 successStarting component tikv Starting instance 127.0.0.1:20160 Start instance 127.0.0.1:20160 successStarting component tidb Starting instance 127.0.0.1:4000 Start instance 127.0.0.1:4000 successStarting component node_exporter Starting instance 127.0.0.1 Start 127.0.0.1 successStarting component blackbox_exporter Starting instance 127.0.0.1 Start 127.0.0.1 success+ [ Serial ] - UpdateTopology: cluster=tem_metadbStarted cluster `tem_metadb` successfully##### install metadb finished ########## check env started: after metadb installation #####assistant check {"level":"debug","msg":"ssh"}strategyName Check success for 127.0.0.1:4000successNetWorkStatus Start: 1760167432NetWorkStatus End : 1760167435Net Status , OKSSHCheck 0.0.0.0 authorized_keysid_rsaid_rsa.pub successTEM assistant check {"level":"debug","msg":"ssh"} strategyName Check success for 127.0.0.1:4000 success NetWorkStatus Start: 1760167432 NetWorkStatus End : 1760167435 Net Status , OK SSHCheck 0.0.0.0 authorized_keys id_rsa id_rsa.pub success##### check env finished: after metadb installation ########## generate config /home/tidb/config.yaml started #####assistant run {"level":"debug","msg":"ssh"}strategyName Install success for 127.0.0.1:4000successsuccessTEM assistant run {"level":"debug","msg":"ssh"} strategyName Install success for 127.0.0.1:4000 success success##### assistant run /home/tidb/config.yaml {"level":"debug","msg":"ssh"}strategyName Install success for 127.0.0.1:4000successsuccess finished #####Detected shell: bashShell profile: /home/tidb/.bash_profileLast login: Sat Oct 11 15:23:25 CST 2025tiup is checking updates for component tem ...Starting component `tem`: /tem/run/.tem/components/tem/v3.1.0/tiup-tem tls-gen tem-serversTLS certificate for cluster tem-servers generatedtiup is checking updates for component tem ...Starting component `tem`: /tem/run/.tem/components/tem/v3.1.0/tiup-tem deploy tem-servers v3.1.0 /home/tidb/config.yaml -u tidb -i /home/tidb/.ssh/id_rsa --yes+ Generate SSH keys ... Done+ Download components - Download tem-server:v3.1.0 (linux/amd64) ... Done+ Initialize target host environments - Prepare 0.0.0.0:22 ... Done+ Copy files - Copy tem-server -> 0.0.0.0 ... DoneEnabling component tem-server Enabling instance 0.0.0.0:8080 Enable instance 0.0.0.0:8080 successCluster `tem-servers` deployed successfully, you can start it with command: `TIUP_HOME=/home/<user>/.tem tiup tem start tem-servers`, where user is defined in config.yaml. by default: `TIUP_HOME=/home/tidb/.tem tiup tem start tem-servers`tiup is checking updates for component tem ...Starting component `tem`: /tem/run/.tem/components/tem/v3.1.0/tiup-tem start tem-serversStarting cluster tem-servers...+ [ Serial ] - SSHKeySet: privateKey=/tem/run/.tem/storage/tem/clusters/tem-servers/ssh/id_rsa, publicKey=/tem/run/.tem/storage/tem/clusters/tem-servers/ssh/id_rsa.pub+ [Parallel] - UserSSH: user=tidb, host=0.0.0.0+ [ Serial ] - StartClusterStarting cluster ComponentName tem-server...Starting component tem-server Starting instance 0.0.0.0:8080 Start instance 0.0.0.0:8080 successStarted tem `tem-servers` successfullytiup is checking updates for component tem ...Starting component `tem`: /tem/run/.tem/components/tem/v3.1.0/tiup-tem display tem-serversCluster type: temCluster name: tem-serversCluster version: v3.1.0Deploy user: tidbSSH type: builtinWebServer URL: ID Role Host Ports OS/Arch Status Data Dir Deploy Dir-- ---- ---- ----- ------- ------ -------- ----------0.0.0.0:8080 tem-server 0.0.0.0 8080 linux/x86_64 Up /tem/data/tem-server-8080 /tem/run/tem-server-8080Total nodes: 1/home/tidb/.bash_profile has been modified to to add tiup to PATHopen a new terminal or source /home/tidb/.bash_profile to use itInstalled path: /usr/local/bin/tiup=====================================================================TEM service has been deployed on host <ip addresses> successfully, please use below command check the status of TEM service:1. Switch user: su - tidb2. source /home/tidb/.bash_profile3. Have a try: TIUP_HOME=/tem/run/.tem tiup tem display tem-servers====================================================================
4、安装后检查
4.1 命令行检查
TIUP_HOME=/tem/run/.tem tiup tem display tem-servers 检查服务状态。
su - tidb
$ TIUP_HOME=/tem/run/.tem tiup tem display tem-serverstiup is checking updates for component tem ...Starting component `tem`: /tem/run/.tem/components/tem/v3.1.0/tiup-tem display tem-serversCluster type: temCluster name: tem-serversCluster version: v3.1.0Deploy user: tidbSSH type: builtinWebServer URL: ID Role Host Ports OS/Arch Status Data Dir Deploy Dir-- ---- ---- ----- ------- ------ -------- ----------0.0.0.0:8080 tem-server 0.0.0.0 8080 linux/x86_64 Up /tem/data/tem-server-8080 /tem/run/tem-server-8080Total nodes: 1
4.2 登录 WEB 界面检查
http://<TEM 部署ip地址>:<port>/login
http://192.168.2.126:8080
TEM 默认⽤户为 admin, 默认密码为 admin
至此,TEM 的部署已经完成,真是顺利,真是简单方便。为 TIDB 点个赞。
三、平凯数据库敏捷模式:安装体验
使用 TEM 快速部署平凯数据库敏捷模式。
参考:【内测】平凯数据库敏捷模式 beta 版 - 部署指南及体验方向 - 飞书云文档
3.1 配置凭证
点击“设置 -> 凭证 -> 主机 -> 添加凭证”
填写被控主机 / 中控机的 ssh 登录凭证,点击“确认”添加
检查凭证是否添加成功
3.2 向 TEM 导入敏捷模式安装包
下载 amd 64. zip 导入 TEM 中。
3.2.1 解压敏捷模式安装包
# unzip amd64.zip# ls -1 | grep gztidb-ee-server-v7.1.8-5.2-20250630-linux-amd64.tar.gz # tidb服务整合包tidb-ee-toolkit-v7.1.8-5.2-20250630-linux-amd64.tar.gz # 相关工具整合包
3.2.2 导入敏捷模式安装包到 TEM
点击“设置 -> 组件管理 -> 添加组件”
选择“组件镜像”
选择本地上传(上传刚下载的平凯数据库敏捷模式安装包)
3.3 配置中控机
点击“主机 -> 集群管理中控机 -> 添加中控机”
填写中控机信息
3.4 配置集群主机
点击“主机 -> 主机 -> 添加共享主机”
填写主机信息,点击“预览”,预览无误后点击“确认添加”
3.5 创建集群
点击“集群 -> 创建集群”
设定集群基础配置 集群名称:自定义 Root 用户密码:该集群的数据库 Root 用户密码,后续会在集群内的“ SQL 编辑器”和“数据闪回”功能中用到,记得保存 CPU 架构:选择部署机器的芯片架构 部署用户:用于启动部署的集群的用户,若该字段指定的用户在目标机器上不存在,则会尝试自动创建 集群种类:选择敏捷模式 部署模式:共享 主机规格:默认 4 C / 8 G
当添加完需要的组件后,点击“回到规划集群节点页面”按钮
注意:PingKaiDB Fusion:必须添加(节点配额限制为 10)Grafana:必须添加(才能使用监控功能)Prometheus 以及 Alertmanager:必须添加(才能使用告警功能)TiFlash:可选(如果需要测试平凯数据库敏捷模式的 HTAP 功能,需要添加)Pump 和 Drainer 组件:不建议添加
配置集群参数和告警 默认参数模版和告警模版即可,点击下一步
预览创建配置,确认无误后点击“创建”按钮启动创建任务
创建过程的具体日志可点击“查看详情”,或在“任务中心”中点击相应的任务进行查看
集群创建并纳管成功
3.6 调整下平凯数据库敏捷模式全局变量
完成平凯数据库敏捷模式部署后,在 TEM SQL 编辑器或使用 MySQL 客户端连接平凯数据库敏捷模式输入以下命令:
set global tidb_runtime_filter_mode=LOCAL;set global tidb_opt_enable_mpp_shared_cte_execution=on;set global tidb_rc_read_check_ts=on;set global tidb_analyze_skip_column_types="json,blob,mediumblob,longblob,mediumtext,longtext";set global tidb_enable_collect_execution_info=off;set global tidb_enable_instance_plan_cache=on;set global tidb_instance_plan_cache_max_size=2GiB;set global tidbx_enable_tikv_local_call=on;set global tidbx_enable_pd_local_call=on;set global tidb_schema_cache_size=0;
-- 是否持久化到集群:否,仅作用于当前连接的 TiDB 实例set global tidb_enable_slow_log=off;
至此,集群创建完毕
四、平凯数据库敏捷模式:基本功能体验
4.1 连接到 tidb
通过 mysql 客户端连接
mysql --port 4000 --user xxx --password
4.2 添加用户
CREATE USER 'test'@'127.0.0.1' IDENTIFIED BY 'xxx';
4.3 授权
SHOW GRANTS FOR 'test'@'localhost';
4.4 删除用户
DROP USER 'test'@'localhost';
4.5 添加索引
alter table test add index idx_id (id);
4.6 删除索引
alter table test drop index idx_id;
五、平凯数据库敏捷模式:数据迁移体验
5.1 在中控机上安装 TiUP 组件
# curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 4785k 100 4785k 0 0 5590k 0 --:--:-- --:--:-- --:--:-- 5597kSuccessfully set mirror to https://tiup-mirrors.pingcap.comDetected shell: bashShell profile: /root/.bash_profileInstalled path: /root/.tiup/bin/tiup===============================================Have a try: tiup playground===============================================
# 生效环境变量source ~/.bashrc
5.2 安装 TiUP DM 组件
# tiup install dm dmctldownload https://tiup-mirrors.pingcap.com/dm-v1.16.3-linux-amd64.tar.gz 9.03 MiB / 9.03 MiB 100.00% 44.48 MiB/s download https://tiup-mirrors.pingcap.com/dmctl-v8.5.3-linux-amd64.tar.gz 75.63 MiB / 75.63 MiB 100.00% 14.75 MiB/s
5.3 创建数据源
首先,新建 source1.yaml 文件,写入以下内容:
# 唯一命名,不可重复。 source-id: "mysql-01"
# DM-worker 是否使用全局事务标识符 (GTID) 拉取 binlog。使用前提是上游 MySQL 已开启 GTID 模式。若上游存在主从自动切换,则必须使用 GTID 模式。
enable-gtid: true from: host: "${host}" # 例如:172.16.10.81 user: "root" password: "${password}" # 支持但不推荐使用明文密码,建议使用 dmctl encrypt 对明文密码进行加密后使用 port: 3306
其次,在终端中执行下面的命令后,使用 tiup dmctl 将数据源配置加载到 DM 集群中:
tiup dmctl --master-addr ${advertise-addr} operate-source create source1.yaml
5.4 创建迁移任务
新建 task1.yaml 文件,写入以下内容:
# 任务名,多个同时运行的任务不能重名。name: "test"# 任务模式,可设为# full:只进行全量数据迁移# incremental: binlog 实时同步# all: 全量 + binlog 迁移task-mode: "all"# 下游 TiDB 配置信息。target-database: host: "${host}" # 例如:172.16.10.83 port: 4000 user: "root" password: "${password}" # 支持但不推荐使用明文密码,建议使用 dmctl encrypt 对明文密码进行加密后使用
# 当前数据迁移任务需要的全部上游 MySQL 实例配置。mysql-instances:- # 上游实例或者复制组 ID。 source-id: "mysql-01" # 需要迁移的库名或表名的黑白名单的配置项名称,用于引用全局的黑白名单配置,全局配置见下面的 `block-allow-list` 的配置。 block-allow-list: "listA"
# 黑白名单全局配置,各实例通过配置项名引用。block-allow-list: listA: # 名称 do-tables: # 需要迁移的上游表的白名单。 - db-name: "test_db" # 需要迁移的表的库名。 tbl-name: "test_table" # 需要迁移的表的名称。
5.5 启动任务
# 检查tiup dmctl --master-addr ${advertise-addr} check-task task.yaml
# 启动tiup dmctl --master-addr ${advertise-addr} start-task task.yaml
5.6 查看任务状态
tiup dmctl --master-addr ${advertise-addr} query-status ${task-name}
平凯数据库迁移工具,使数据迁移变的更加容易可控。极大的简化了 DBA 的工作。
六、TEM 易用性
TEM 提供图形化的 WEB 管理界面,可以让用户在一个 Web 界面内即可完成:
1、TiDB 集群部署 / 纳管 / 升级
2、参数配置
3、节点扩缩容
4、综合监控、告警
5、自动化备份策略
6、故障自愈与性能诊断、任务定时执行、服务器 / 集群 CPU、内存、磁盘 I/O 等资源利用实时可视化
7、实现数据库统一资源池建设,彻底告别多集群、多组件来回切换及复杂命令行,让大规模、多集群场景下的运维更简单、更安全、更自动化
6.1 监控
可以监控:数据库时间、应用链接、SQL 负载、耗时分解、TiDB 组件资源、集群主机资源等。
6.2 诊断
可以统计出慢 SQL、可以对 SQL 语句进行分析、审计。
6.3 告警
告警功能也是很完善的。 自己自定义创建告警规则和告警通道,以便监控。
6.4 巡检
内置的巡检项目,也是比较完善的,可以执行日常巡检任务。
6.5 备份
可以实现对数据库、对表级的备份。 备份介质可以选择 S 3 对象存储及 NFS(NAS)备份。
恢复功能也完善,可以对整个集群实现恢复,也可以恢复到指点时间点,也可以指定库、指定表进行恢复。
6.6 集群信息
可以查看集群的实例信息、主机资源、磁盘次元、存储拓扑等等。
总之,TEM 还有好多功能,大家可以尽情挖掘体验,解放 DBA 的运维之手。
同时,Dashboard 也提供了很多图形化的管理功能(比如集群诊断、日志搜索分析、资源管控、高级调试等),非常之好用,大家可以试用体验一下。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/bad6e08b24b075f0170318de5】。文章转载请联系作者。
TiDB 社区干货传送门
TiDB 社区官网:https://tidb.net/ 2021-12-15 加入
TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/







评论