ä½è ï¼è¾¹åå å â
ä½éªDM-WebUI
ä¸ãèæ¯
DM æ¯ä¸æ¬¾ä¾¿æ·çæ°æ®è¿ç§»å·¥å ·ï¼æ¯æä»ä¸ MySQL åè®®å ¼å®¹çæ°æ®åºå° TiDB çå ¨éæ°æ®è¿ç§»åå¢éæ°æ®åæ¥ã TiDB v6.0.0 ä¹åï¼ä½¿ç¨DMåæ°æ®è¿ç§»æ¹å¼æ¯éè¿dmctlåé ç½®æä»¶æ¹å¼ï¼å¯¹å½ä»¤åé ç½®ä¸çæçtidber䏿¯å¾æ¹ä¾¿ãå¨TiDB v6.0.0 åå¸åæ¶åå¸äºDMçå¯è§å管çå·¥å ·WebUIãçå¿æè§TiDBè¶æ¥è¶å¥½ç¨ï¼æ´å 强大ï¼è¿«ä¸åå¾ çä½éªä¸æã
äºãDMå夿¡ä»¶
2.1 äºè§£DM
2.1.1 DMç»æ
- DM 主è¦å æ¬ä¸ä¸ªç»ä»¶ï¼DM-masterï¼DM-worker å dmctlã
- TiDBV6.0.0 å¢å äºWebUIå¯è§å管çï¼ââhttp://{master_ip}:{master_port}/dashboard/ââ
- ç»ä»¶è¯´æï¼
1ãDM-master
DM-master è´è´£ç®¡çåè°åº¦æ°æ®è¿ç§»ä»»å¡çå项æä½ã
- ä¿å DM éç¾¤çææä¿¡æ¯
- çæ§ DM-worker è¿ç¨çè¿è¡ç¶æ
- æ§æ°æ®è¿ç§»ä»»å¡çè¿è¡ç¶æ
- æä¾æ°æ®è¿ç§»ä»»å¡ç®¡ççç»ä¸å ¥å£
- åè°ååºåè¡¨åºæ¯ä¸å个å®ä¾å表ç DDL è¿ç§»
2ãDM-worker
DM-worker è´è´£æ§è¡å ·ä½çæ°æ®è¿ç§»ä»»å¡ã
- å° binlog æ°æ®æä¹ åä¿å卿¬å°
- ä¿åæ°æ®è¿ç§»åä»»å¡çé 置信æ¯
- ç¼ææ°æ®è¿ç§»åä»»å¡çè¿è¡
- çæ§æ°æ®è¿ç§»åä»»å¡çè¿è¡ç¶æ
3ãdmctl
dmctl æ¯ç¨æ¥æ§å¶ DM é群çå½ä»¤è¡å·¥å ·ã
- åå»ºãæ´æ°æå 餿°æ®è¿ç§»ä»»å¡
- æ¥çæ°æ®è¿ç§»ä»»å¡ç¶æ
- å¤çæ°æ®è¿ç§»ä»»å¡é误
- æ ¡éªæ°æ®è¿ç§»ä»»å¡é ç½®çæ£ç¡®æ§
4ãWebUI
DMå¯è§å管ç
2.1.2 Data Migration æ¶æ

1ãå¯ä»¥ä» DM é群çä»»æ master èç¹è®¿é® DM WebUIï¼è®¿é®ç«¯å£ä¸ DM OpenAPI ä¿æä¸è´ï¼é»è®¤ä¸º âââã访é®å°å示ä¾ï¼â
â8261â
âã
âhttp://{master_ip}:{master_port}/dashboard/â
2.2 使ç¨DMçåææ¡ä»¶
2.2.1 MySQL åè®®å ¼å®¹çæ°æ®åº
- MySQL çæ¬>5.5
- è¡¨ç»æçå ¼å®¹æ§
- æ£æ¥ä¸æ¸¸è¡¨æ¯å¦è®¾ç½®äºå¤é®ãTiDB 䏿¯æå¤é®ï¼å¦æä¸æ¸¸è¡¨è®¾ç½®äºå¤é®ï¼åè¿åè¦åã
- ï¼å¿ é¡»ï¼æ£æ¥åç¬¦éæ¯å¦åå¨å ¼å®¹æ§å·®å¼ï¼è¯¦è§ââTiDB æ¯æçå符éââã
- ï¼å¿ é¡»ï¼æ£æ¥ä¸æ¸¸è¡¨ä¸æ¯å¦åå¨ä¸»é®æå¯ä¸é®çº¦æï¼ä» v1.0.7 çæ¬å¼å ¥ï¼ã
2.2.2 TiDBçåå¨ç©ºé´
TiKVæ»èç¹è¦æè¶³å¤ç空é´ï¼åºå¤§äºä¸æ¸¸æ°æ®æºç大å°Ã坿¬æ°Ã2ï¼
为ä»ä¹Ã2å¢?è¿é主è¦èèå°ä¸é¢ä¸¤ä¸ªæ¹é¢ï¼
- ç´¢å¼ä¼å æ®é¢å¤ç空é´
- RocksDB çç©ºé´æ¾å¤§æåº
2.2.3 å¼å¯WebUIçé ç½®
ä¸ºç¡®ä¿ DM WebUI è½æ£å¸¸æ¾ç¤ºï¼å¨ä½¿ç¨ DM WebUI åï¼ç¡®ä¿ä»¥ä¸æä½æé ç½®å·²å®æï¼
- 1ãå¼å¯ DM OpenAPI é ç½®ï¼ 1ï¼å¦æä½ ç DM é群æ¯éè¿äºè¿å¶æ¹å¼é¨ç½²çï¼å¨è¯¥ master èç¹çé ç½®ä¸å¼å¯ openapi é ç½®é¡¹ï¼ openapi = true 2ï¼å¦æä½ ç DM é群æ¯éè¿ TiUP é¨ç½²çï¼å¨æææä»¶ä¸æ·»å å¦ä¸é ç½®ï¼
server_configs:
master:
openapi: true
3)å·²ç»å®è£ 好çdmé群
tiup-dm edit-config <dm-clustername>
tiup-dm reload <dm-clustername> -N <dm-master>
- 2ã馿¬¡é¨ç½² Grafana æ¶ï¼å·²æ£ç¡®å®è£ çæ§ç¸å ³ç»ä»¶ï¼monitoring_servers å grafana_serversãgrafana_servers é¡»æå¦ä¸è¿è¡é ç½®ï¼
grafana_servers:
- host: 10.0.1.14
# port: 3000
# deploy_dir: /tidb-deploy/grafana-3000
config: # è¯·ç¡®ä¿æ§è¡ tiup dm -v ç TiUP çæ¬å¨ v1.9.0 å以ä¸
auth.anonymous.enabled: true
security.allow_embedding: true
- è¥ grafana_servers 使ç¨äºéé»è®¤ç IP å端å£ï¼åéè¦å¨ WebUI ç Dashboard çé¢å¡«åæ£ç¡®ç IP å端å£ã
ä¸ãDMæ¼ç»è¯´æ
æ¬æ¬¡å®éªå®¤ä» mysql3306->tib4000çæ¼ç¤º
3.1 æ¼ç»è¯´æ
æ¬æ¬¡æ¼ç»ä»mysql 3306åå®ä¾ è¿ç§»å°
3.2 䏿¸¸æ°æ®æºMysql3306
3.2.1 䏿¸¸mysqlæ°æ®åº test-dm
3.2.2 my.inié ç½®
#å¼å¯gtid
gtid_mode=on
enforce_gtid_consistency=on
#å¼å¯binlog
log_bin=on
binlog_format=row
#å¼å¯binlogæ¥å¿è®°å½æ°æ®åºçäºè¿å¶æ¥å¿
binlog_ignore_db=mysql
binlog_do_db=test-dm
3.2.3 GTID
1ã妿䏿¸¸æºæ°æ®åºåå¨ä¸»ä»åæ¢ï¼è¯·å¡å¿ å¨ä¸æ¸¸ MySQL å¼å¯ GTIDï¼å¹¶å¨åå»ºä¸æ¸¸é ç½®æ¶å° GTID 设为 Trueï¼å¦åæ°æ®è¿ç§»ä»»å¡å°å¨ä¸»ä»åæ¢æ¶ä¸æï¼AWS Aurora é¤å¤ï¼ï¼
3.2.4 Relay log
1ãå½å¤ä¸ªè¿ç§»ä»»å¡ä½¿ç¨åä¸ä¸ªä¸æ¸¸æ¶ï¼å¯è½å¯¹å ¶é æé¢å¤ååã建议å¼å¯ relay log å¯éä½å¯¹ä¸æ¸¸çå½±åã
2ãDM-worker å¨è¿è¡è¿ç¨ä¸ï¼ä¼å°ä¸æ¸¸ binlog 宿¶è¿ç§»å°æ¬å°æä»¶ãDM-worker ç sync å¤çåå ä¼å®æ¶è¯»åæ¬å° relay log ç binlog äºä»¶ï¼å°è¿äºäºä»¶è½¬æ¢ä¸º SQL è¯å¥ï¼åå° SQL è¯å¥è¿ç§»å°ä¸æ¸¸æ°æ®åºã
3ãå¨å¯ç¨ relay log åè½åï¼DM-worker ä¼èªå¨å°ä¸æ¸¸ binlog è¿ç§»å°æ¬å°é ç½®ç®å½ï¼è¥ä½¿ç¨ TiUP é¨ç½² DMï¼åè¿ç§»ç®å½é»è®¤ä¸º â
ââï¼ãèª v5.4.0 çæ¬èµ·ï¼ä½ å¯ä»¥å¨ ââDM-worker é ç½®æä»¶âââä¸éè¿ â
â<deploy_dir> / <relay_log>â
â é ç½®æ¬å°é ç½®ç®å½ï¼å ¶ä¼å 级é«äºä¸æ¸¸æ°æ®åºçé ç½®æä»¶ã
ârelay-dirâ
3.2.5 éªè¯ä¸æ¸¸æ°æ®åº
# æ£æµæ¯å¦å¼å¯binlog
# log_bin=on
# binlog_format=row
show variables like '%binlog%'
# å¼å¯gtid
# gtid_mode=on
# enforce_gtid_consistency=on
show variables like '%gtid%'
3.3 tidbé群cluster111
3.3.1 cluster111 ææ
ââhttps://tidb.net/blog/af8080f7#cluster111ââ
# cluster111.yml
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy111"
data_dir: "/tidb-data111"
server_configs:
tidb:
log.slow-threshold: 300
tikv:
readpool.storage.use-unified-pool: false
readpool.coprocessor.use-unified-pool: true
pd:
replication.max-replicas: 1
pd_servers:
- host: 10.0.2.15
client_port: 2379 #注æä¸tidb-server,tikvçkeyä¸ä¸æ ·
peer_port: 2380 #注æä¸tidb-server,tikvçkeyä¸ä¸æ ·
tidb_servers:
- host: 10.0.2.15
port: 4000
status_port: 10080
tikv_servers:
- host: 10.0.2.15
port: 20160
status_port: 20180
# çæ§
monitoring_servers:
- host: 10.0.2.15
grafana_servers:
- host: 10.0.2.15
config: # Enable this part if you want to use WebUI, make sure tiup dm -v newer than v1.9.0.
auth.anonymous.enabled: true
security.allow_embedding: true
alertmanager_servers:
- host: 10.0.2.15
3.3.2 é¨ç½²åå¯å¨cluster111
离线å®è£ ï¼ ââhttps://pingcap.com/zh/product-community/#TiDBââ 6.0.0-DMR
1ï¼ä¸è½½å®è£ å tidb-community-server-v6.0.0-linux-amd64.tar.gz 2ï¼ä¸è½½tookit tidb-community-toolkit-v6.0.0-linux-amd64.tar.gz
mkdir -p /usr/local0/webserver/tidb/
cd /usr/local0/webserver/tidb/
tar -zxvf tidb-community-toolkit-v6.0.0-linux-amd64.tar.gz
tar -zxvf tidb-community-server-v6.0.0-linux-amd64.tar.gz
cd ./tidb-community-server-v6.0.0-linux-amd64/
sh local_install.sh
source /root/.bash_profile
tiup update cluster
tiup cluster list
# æ£æµç¯å¢é
置并å°è¯ä¿®æ£
tiup cluster check ./cluster111.yml --user root -p --apply
# å®è£
cluster111
tiup cluster deploy cluster111 v6.0.0 ./cluster111.yml --user root -p
# å¯å¨é群
tiup cluster start cluster111
tiup cluster display cluster111
3.4 dmé群
3.4.1 DMææ
- çædmçææ
cd /usr/local0/webserver/tidb/tidb-community-toolkit-v6.0.0-linux-amd64
tar -zxvf dm-v1.9.4-linux-amd64.tar.gz
cp ./tiup-dm /root/.tiup/bin/
tiup-dm -h
tiup-dm template --full >dm-cluster111.toml
- dm-cluster111ææ
#dm-cluster111
server_configs:
master:
# å¼å¯webui
openapi: true
master_servers:
- host: 10.0.2.15
port: 8261
worker_servers:
- host: 10.0.2.15
port: 8262
#çæ§
monitoring_servers:
- host: 10.0.2.15
port: 19090
grafana_servers:
- host: 10.0.1.14
port: 13000
config: # Enable this part if you want to use WebUI, make sure tiup dm -v newer than v1.9.0.
auth.anonymous.enabled: true
security.allow_embedding: true
alertmanager_servers:
- host: 10.0.1.15
web_port: 19093
cluster_port: 19094
3.4.2 é¨ç½²é群
tiup-dm deplay dm-cluster111 v6.0.0 ./dm-cluster111.toml --user root -p
tiup-dm start dm-cluster111
tiup-dm display dm-cluster111
3.4.3 ç»å½Dm-WebUI
ââhttp://{master_ip}:{master_port}/dashboard/âââ ââhttp://127.0.0.1:8261/dashboardââ
ââhttp://127.0.0.1:13000/ââ
注æï¼web-uiä¸çdashboardä¸ççæ§éè¦è®¾ç½®çip为 masteræºå¨å¯ä»¥è®¿é®å°çgrafanaçå°åå端å£
3.5 使ç¨DM-WebUIåæ°æ®è¿ç§»
任塿¨¡å¼task-mode:
- all å ¨é+å¢é
- full å ¨é
- incremental å¢é
åå»ºä¸æ¸¸æ°æ®æºé ç½®
åè¾¹è¦å¤æ¬¡ä½¿ç¨è¿ä¸ªä¸æ¸¸æ°æ®æºï¼æä»¥å¼å¯äºrelaylogã
3.5.1 æµè¯å ¨éè¿ç§»
test_dm(Mysql3306)--->test_dm_full(TiDB 4000) 䏿¸¸æ°æ®åº:test_dm(Mysql3306) å·²ç»åå¤å®æ¯
3.5.1.1 æ°å»ºtest_dm_fullæ°æ®åº
3.5.1.2 æ·»å ä»»å¡-åºæ¬ä¿¡æ¯
ä»»å¡åï¼task-test-dm-full åä¿¡æ¯ï¼meta_test_dm_full åå¨è·¯å¾ï¼/tidb/dm/task-test-dm-full/dump_data
3.5.1.3 æ·»å ä»»å¡-䏿¸¸ä¿¡æ¯
3.5.1.4 æ·»å ä»»å¡-䏿¸¸ä¿¡æ¯
3.5.1.5 æ·»å ä»»å¡-äºä»¶è¿æ»¤
äºä»¶è¿æ»¤å¨æ ¹æ®å ·ä½æ åµå¡«åï¼è¿éå¯ä»¥ä¸å¡«åï¼
3.5.1.6 æ·»å ä»»å¡-忥è§å
å¿ é¡»å¡«å
3.5.1.7 æ·»å ä»»å¡-ä¿åä»»å¡å¹¶è¿è¡
3.5.1.8 ä»»å¡å表-ä»»å¡å®æ
3.5.1.9 éªè¯æ°æ®å®æ´æ§
1ï¼Mysql3306 æºæ°æ®åºtest_dm è®°å½ä¿¡æ¯
-- ç»è®¡æå®æ°æ®åºä¸çè¡¨è®°å½æ°
-- çæsqlè¯å¥
select concat(
'select \'',
TABLE_name,
'\' , count(*) from ',
TABLE_name,
' union all'
) from information_schema.tables
where TABLE_SCHEMA='test_dm';
select 'm_cust_data', count(*) ct from m_cust_data union all
select 'm_cust_main', count(*) from m_cust_main union all
select 'm_cust_oneall', count(*) from m_cust_oneall union all
select 'm_cust_org', count(*) from m_cust_org union all
select 'm_user', count(*) from m_user union all
select 'rpt_detail_org', count(*) from rpt_detail_org
2ï¼TiDB4000 ç®æ æ°æ®åºtest_dm_full è®°å½ä¿¡æ¯
3ï¼æºæ°æ®ä¸ç®æ æ°æ®è¡¨åè®°å½æ°ä¸è´ã
3.5.2 æµè¯å¢éè¿ç§»
test_dm(Mysql3306)--->test-dm-incremental(TiDB 4000) 䏿¸¸æ°æ®åº:test-dm(Mysql3306) å·²ç»åå¤å®æ¯
注æï¼incremental: ä» è¿è¡å¢éæ°æ®åæ¥ï¼éè¦æå®å¼å§æ¶é´æ binlog ä½ç½®ã
3.5.2.1 æ°å»ºtest_dm_incremental æ°æ®åº
为äºè®©å¢é使ç¨åç¬çdm-work æ°å»ºä¸æ¸¸æ°æ®æº mysql3306-(test_dm)3
3.5.2.2 æ·»å ä»»å¡-åºæ¬ä¿¡æ¯
ä»»å¡åï¼task-test-dm-incremental åä¿¡æ¯ï¼meta_test_dm_incremental åå¨è·¯å¾ï¼/tidb/dm/task-test-dm-incremental/dump_data
3.5.2.3 æ·»å ä»»å¡-䏿¸¸ä¿¡æ¯
3.5.2.4 æ·»å ä»»å¡-䏿¸¸ä¿¡æ¯
3.5.2.5 æ·»å ä»»å¡-äºä»¶è¿æ»¤
äºä»¶è¿æ»¤å¨æ ¹æ®å ·ä½æ åµå¡«åï¼è¿éå¯ä»¥ä¸å¡«åï¼
3.5.2.6 æ·»å ä»»å¡-忥è§å
å¿ é¡»å¡«å
3.5.2.7 æ·»å ä»»å¡-è¿è¡
3.5.2.8 éªè¯æ°æ®
å¢éæ°æ®æç §é¢æåæ¥å°å¢éåºä¸ã
3.5.3 æµè¯å ¨é+å¢éè¿ç§»
Mysql(test_dm)--->TiDB(test_dm_all)
3.5.3.1 æ°å»ºtest_dm_all
3.5.3.2 æ·»å ä»»å¡-åºæ¬ä¿¡æ¯
ä»»å¡åï¼task-test-dm-all åä¿¡æ¯ï¼meta_test_dm_all åå¨è·¯å¾ï¼/tidb/dm/task-test-dm-all/dump_data
3.5.3.3 æ·»å ä»»å¡-䏿¸¸ä¿¡æ¯
3.5.3.4 æ·»å ä»»å¡-䏿¸¸ä¿¡æ¯
3.5.3.5 æ·»å ä»»å¡-äºä»¶è¿æ»¤
äºä»¶è¿æ»¤å¨æ ¹æ®å ·ä½æ åµå¡«åï¼è¿éå¯ä»¥ä¸å¡«åï¼
3.5.3.6 æ·»å ä»»å¡-忥è§å
> å¿ é¡»å¡«å
æç¤ºé误ï¼âtest-dmå¿ é¡»é ç½®å°éè¦binlogçæ¥å¿éâ
my.ini
#䏿¸¸
binlog_do_db=test_dm
å¦ä½å¤ç¨å·²ç»åå¨çdm-work
- æ¹å¼1ï¼åæ¢dm-workï¼åæ¢ä»»å¡ãå é¤ä¸æ¸¸
- æ¹å¼2ï¼æ©å®¹ä¸ä¸ªdm-work
æ¬ç¤ºä¾éç¨æ©å®¹ä¸ä¸ªdm-workçæ¹å¼
3.5.3.7 éªè¯æ°æ®ä¸è´æ§
-- æºåºä¸æ§è¡
select c.* from (
select concat(
'select \'',
TABLE_name,
'\' tablename , count(*) ct from ',
TABLE_name,
' union all'
) from information_schema.tables
where TABLE_SCHEMA='test_dm') c union all
select 'select 0,0 from dual order by ct desc ' ;
-- Tidbåºä¸æ§è¡
select 'm_cust_data' tablename , count(*) ct from m_cust_data union all
select 'm_cust_main' tablename , count(*) ct from m_cust_main union all
select 'm_cust_oneall' tablename , count(*) ct from m_cust_oneall union all
select 'm_cust_org' tablename , count(*) ct from m_cust_org union all
select 'm_user' tablename , count(*) ct from m_user union all
select 'rpt_detail_org' tablename , count(*) ct from rpt_detail_org union all
select 0,0 from dual order by ct desc
3.5.3.8 坹䏿¸¸æ°æ®æºï¼Mysql test_dmï¼æ°æ®ååæ´æµè¯å¢é
主è¦å æ¬ï¼æ°å¢è¡¨ï¼æ°å¢æ°æ®ï¼ä¿®æ¹æ°æ®ï¼å 餿°æ®
1ãæ°å»ºè¡¨ test_dm
# å建表
CREATE TABLE `m_user_new` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`age` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=innodb AUTO_INCREMENT=112 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
# æ°å¢
INSERT INTO `test_dm`.`m_user_new`(`id`, `name`, `age`) VALUES (1, 'a', 1);
INSERT INTO `test_dm`.`m_user_new`(`id`, `name`, `age`) VALUES (2, 'b', 22);
# ä¿®æ¹
update `test_dm`.`m_user_new` set name='namennnnnnnnnnnn' where id=1;
update `test_dm`.`m_user_new` set name='mmmmmmmm' where id=2;
INSERT INTO `test_dm`.`m_user_new`(`id`, `name`, `age`) VALUES (3, 'cccccccccccccccccc', 99);
# å é¤
delete from `test_dm`.`m_user_new` where id=2;
# æ°å¢2
CREATE TABLE `m_user_new2` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`age` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=innodb AUTO_INCREMENT=112 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
# æå
¥
-- å¨test_dm䏿§è¡æå
¥ï¼å¨tidbä¸çall模å¼ä¸åºæ¬æ²¡æå»¶è¿å°±å¯ä»¥çå°æ°æå
¥çè®°å½
INSERT INTO `test_dm`.`m_user_new2`( `name`, `age`) VALUES ( 'ddddddddddd', 99);
2ã䏿¸¸ï¼ç®æ åº test_dm_allï¼
-- tidb ä¸éè¦ ä½¿ç¨show tables æçå°å¯¹åºç表ï¼ä»¥ä¸ºå¢é没æéè¿è¿æ¥å®é
ä¸å·²ç»åæ¥äºå¢é
show tables;
select * from m_user_new;
select * from m_user_new2;
-- 对æºçå é¤å¾å¿«ä¼åé¦å° ç®æ åºè¡¨
注æï¼ 1ã妿å¨ä»»å¡ä¸æ²¡æåäºä»¶è¿æ»¤ï¼é£ä¹å¯¹tidbç表çæä½ å°ä¼è¢« æºæ°æ®åºä¸å¯¹åºçè®°å½çæä½æè¦çãé常è¿ç§æ åµåºç°å¨åæ¶åå ¥æºåç®æ åºçæ åµä¸ã 2ã妿任å¡åæ¢ï¼å次å¯å¨ä»»å¡æ¶å°ä»ä¸æ¬¡åæ¥çæ¶é´ç¹ç»§ç»åæ¥æ°æ®ã
3.5.3.9 éªè¯å¢éæ°æ®
1ï¼Mysql test_dmåº
select 'm_cust_data', count(*) ct from m_cust_data union all
select 'm_cust_main', count(*) from m_cust_main union all
select 'm_cust_oneall', count(*) from m_cust_oneall union all
select 'm_cust_org', count(*) from m_cust_org union all
select 'm_user', count(*) from m_user union all
select 'm_user_new', count(*) from m_user_new union all
select 'm_user_new2', count(*) from m_user_new2 union all
select 'rpt_detail_org', count(*) from rpt_detail_org order by ct desc;
2ï¼TiDB test_dm_allåº
3ï¼æ°æ®å ¨é+å¢é忥 ç»éªè¯æ°æ®æ¯ä¸è´çã
3.5.4 éç¨åºæ¯
- ä»å°æ°æ®é MySQL è¿ç§»æ°æ®å° TiDB 1ï¼âå°æ°æ®éâé常æ TiB 级å«ä»¥ä¸ 2ï¼ç´æ¥ä½¿ç¨DMè¿è¡æ°æ®åæ¥å°TiDB
- ä»å¤§æ°æ®é MySQL è¿ç§»æ°æ®å° TiDB 1ï¼ä½¿ç¨Dumpling 导åºå ¨éæ°æ® 2ï¼ä½¿ç¨lightningå¯¼å ¥å ¨éæ°æ® 3ï¼ä½¿ç¨ DM æç»å¤å¶å¢éæ°æ®å° TiDB éè¦è®°å½binlog-nameåbinlog-pos æbinlog-gtid
- ä»å°æ°æ®éååºå表 MySQL åå¹¶è¿ç§»æ°æ®å° TiDB
- 1ï¼âå°æ°æ®éâé常æ TiB 级å«ä»¥ä¸ 2ï¼ç´æ¥ä½¿ç¨DMè¿è¡æ°æ®åæ¥å°TiDB
- ä»å¤§æ°æ®éååºå表 MySQL åå¹¶è¿ç§»æ°æ®å° TiDB
- 1ï¼ä½¿ç¨ Dumpling 导åºå ¨éæ°æ®å¤ä»½ 2ï¼éç¨ Lightning æ§è¡å¯¼å ¥å¤ä¸ªååºçå ¨éæ°æ®å° TiDB ä¸çç¹å®è¡¨ 3ï¼ä½¿ç¨ DM è¿è¡å¢éæ°æ®è¿ç§»
åãDMè¯æ
4.1 çæ§
DMé群ä¼é»è®¤é¨ç½²ä¸å¥çæ§
4.1.1 æ¥ççæ§çæ¹å¼
1ãââhttp://127.0.0.1:13000/#grafanaââ
2ãWebUI(dashboard)
4.2 clinic
clinic对dmçæ¶é使ç¨ç¬ç«çå½ä»¤
tiup diag help tiup diag collectdm <dm-clustername>
æ¶éè¯æä¿¡æ¯
tiup diag collectdm dm-cluster111
tiup diag package ${diagfilepath}
tiup diag upload ${diagfilepath}.diag
äºã注æ
5.1 webuiä¸dmctl
- DM WebUI ä¸â
â ççå½å¨ææææ¹åï¼ä¸å»ºè®®ä¸ dmctl åæ¶ä½¿ç¨ãâtaskâ
- å¦æä½ ä¸ä¹ æ¯dmctlå¯ä»¥ä½¿ç¨webuiæ¿ä»£
å ãæ»ç»
1ã使ç¨dmçWebUIæ»ä½æ¯æ¯è¾é¡ºç 䏿»ï¼ä¸é´éå°äºä¸äºé®é¢å¨å®æ¹åç¤¾åºæåç帮å©ä¸å¾ä»¥è§£å³ã
2ãç¹å«æè°¢PingCAPï¼æè°¢ç¤¾åºçå¿çæå帮å©åæ¯æï¼
ä½éªè¿ç¨éå°çå°å
1ã åå¨è·¯å¾
æ¯æ¬¡ç¼è¾é½ä¼åçååä¿®æ¹ä¸ºé»è®¤å¼ï¼ æ 强迫ççæåè¦æ¯æ¬¡æ¹ä¸ºèªå·±æå®çè·¯å¾
2ã 䏿¸¸é ç½®
å¯ç 端å£å¡«åé ç½®é误è¦å°æåæäº¤ä»»å¡æä¼åè¯ä½ ãï¼å¯ä»¥ä¼åå¢å ä¸ä¸ªéªè¯åè½ï¼
3ã å¨ä¸æå®ç¹å®è¡¨çæ åµä¸
ä¸é¢ç空ä¸è¦å¡«ï¼å ¨éä¹ä¸è¦å¡«åï¼*ï¼ï¼ææµè¯çæ¶åå¡« â
â*â
âæå· æ²¡æææ
4ã使ç¨show tables æè½å·åºè¡¨ç»æï¼æå¤§çå ï¼
1ï¼é ç½®å®æåè·ä»»å¡
2ï¼å¨ä»»å¡å表ä¸çå°ç任塿¯å®æ
3ï¼ä½¿ç¨navicat å°±æ¯å·ä¸åºæ¥è¡¨ï¼å æ¬å ³éè¿æ¥ï¼éæ°æå¼è¿æ¥å°±æ¯å·ä¸åºè¡¨ï¼
-- tidb ä¸éè¦ ä½¿ç¨show tables æçå°å¯¹åºç表ï¼ä»¥ä¸ºå¢é没æéè¿è¿æ¥å®é
ä¸å·²ç»åæ¥äºå¢é
show tables;
select * from m_user_new;
select * from m_user_new2;
-- 使ç¨show tables åï¼ç¨navicat å°±å¯ä»¥å·åºè¡¨ç»æäºã没æå¼æ¸
æ¯ä»ä¹åå ï¼è¿éè®°å½ä¸ä¸ï¼